Is there any protect for shared_ptr or nullptr in wamr

Hi~
I am using shared_ptr in wasm, and my sdk is wasi-sdk-12.0.
I wrote a class to hold the buffer and its length:
class CppBytes {
public:
CppBytes(const char *buffer, uint32_t size) {
if (nullptr == buffer || 0 == size) {
mBuffer = nullptr;
mSize = 0;
} else {
mBuffer = (char *)malloc(size);
memcpy(this->mBuffer, buffer, size);
this->mSize = size;
}
}
~CppBytes() {
if (mBuffer != nullptr) {
free(mBuffer);
mBuffer = nullptr;
}
}
const char *GetBuffer() {
    return mBuffer;
}
uint32_t GetSize() {
    return mSize;
}

private:
char *mBuffer;
uint32_t mSize;
};
And I wrote a class which has a shared_ptr member:
class ClassHasCppBytes {
public:
std::shared_ptr GetData() {
return mData;
}
void SetData(std::shared_ptr data) {
mData = data;
}
private:
std::shared_ptr mData;
};
Then I had the test function like this:
void TestSharedPtrWasm()
{
std::string s = "123";
std::shared_ptr bytes = std::make_shared(s.c_str(), s.size() + 1);
ClassHasCppBytes c;
// c.SetData(bytes);  // I didn't set the data here

c.GetData().get();
c.GetData()->GetSize();
c.GetData()->GetBuffer();

}
I think will got someting like crash in wamr or wasm. But it was finished normally.
Then I tested the similar codes in android ndk, and I got nullptr crash:
A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
A/DEBUG: Cause: null pointer dereference
So why?

As a managed runtime, WAMR shouldn‘t crash even though the application access some invalid memory space. For example, if you write int c = *(int *)(-100) in C, then WAMR will throw Exception: out of bounds memory access, but it will not crash.
As for your case, the runtime doesn't throw out the OOM exception because nullptr in C++, which is actually a number 0, is a valid memory space in WebAssembly, WAMR will not avoid you from accessing this area, but this will cause an undefined behaviour.

@xujuntwt95329
We should avoid this kind of operation from source code level.
—— I can agree more and this is why I ask this question. If I got a error here, then I will find the code bug easier.
—— Thanks for your answer. I will note it in my code.

Yes, an error will make it easier to find out the issue, but we can't really rely on this kind of errors, because dereferencing a nullptr in C++ is undefined behavior, different compilers/platforms may introduce different behavior


no python application found -- error

Hi @diegocepedaw
2022-03-04 06:26:00,947 INFO root [*] deactivate task finished
2022-03-04 06:26:00,947 INFO root [-] start send task...
2022-03-04 06:26:00,948 INFO root 0 new messages waiting in database - queued: 0
2022-03-04 06:26:00,948 INFO root [*] send task finished
2022-03-04 06:26:00,948 INFO root [-] start aggregate task - queued: 0
2022-03-04 06:26:00,949 INFO root [x] dropped 0 inactive messages from claimed incidents, 0 remain
2022-03-04 06:26:00,949 INFO root [*] aggregate task finished - queued: 0
2022-03-04 06:26:00,950 INFO root Workers per mode: call: 200, drop: 200, email: 500, slack: 200, sms: 200
2022-03-04 06:26:00,950 INFO root --> sender loop finished in 0.9504528045654297 seconds - sleeping 59.04954719543457 seconds
2022-03-04 06:26:00,950 INFO root Sending metrics: aggregations: 0.0008676052093505859, api_request_cnt: 0, api_request_timeout_cnt: 0, app_Autoalerts_quota_hard_usage_pct: 0, app_Autoalerts_quota_soft_usage_pct: 0, app_iris_quota_hard_usage_pct: 0, app_iris_quota_soft_usage_pct: 0, app_oncall_quota_hard_usage_pct: 0, app_oncall_quota_soft_usage_pct: 0, app_test-app_quota_hard_usage_pct: 0, app_test-app_quota_soft_usage_pct: 0, call_avg: 0, call_cnt: 0, call_fail: 0, call_max: 0, call_min: 0, call_sent: 0, call_total: 0, deactivation: 0.005856513977050781, drop_avg: 0, drop_cnt: 0, drop_fail: 0, drop_max: 0, drop_min: 0, drop_sent: 0, drop_total: 0, email_avg: 0, email_cnt: 0, email_fail: 0, email_max: 0, email_min: 0, email_sent: 0, email_total: 0, follower_message_send_fail_cnt: 0, follower_message_send_success_cnt: 0, hipchat_cnt: 0, hipchat_fail: 0, hipchat_max: 0, hipchat_min: 0, hipchat_sent: 0, hipchat_total: 0, im_avg: 0, im_cnt: 0, im_fail: 0, im_max: 0, im_min: 0, im_sent: 0, im_total: 0, message_ids_being_sent_cnt: 0, message_retry_cnt: 0, message_send_cnt: 0, msg_drop_length_cnt: 0, new_incidents_cnt: 0, new_msg_count: 0, notification_cnt: 0, notifications: 0.005896091461181641, oncall_error: 0, poll: 0.0010170936584472656, queue: 0, quota_hard_exceed_cnt: 0, quota_soft_exceed_cnt: 0, role_target_lookup_error: 0, rpc_message_pass_fail_cnt: 0, rpc_message_pass_success_cnt: 0, send_queue_call_size: 0, send_queue_drop_size: 0, send_queue_email_size: 0, send_queue_gets_cnt: 0, send_queue_im_size: 0, send_queue_puts_cnt: 0, send_queue_puts_fail_cnt: 0, send_queue_slack_size: 0, send_queue_sms_size: 0, sender_uptime: 710, slack_avg: 0, slack_cnt: 0, slack_fail: 0, slack_max: 0, slack_min: 0, slack_sent: 0, slack_total: 0, sms_avg: 0, sms_cnt: 0, sms_fail: 0, sms_max: 0, sms_min: 0, sms_sent: 0, sms_total: 0, target_not_found: 0, task_failure: 0, workers_respawn_cnt: 0
2022-03-04 06:26:10,504 INFO iris.sender.cache refreshed target reprioritization rules: 0
Fri Mar  4 06:26:10 2022 - --- no python application found, check your startup logs for errors ---
2022-03-04 06:26:10,983 INFO iris.sender.quota Refreshing app quotas
2022-03-04 06:26:10,992 INFO iris.sender.quota Refreshed app quotas: Autoalerts, test-app, iris, oncall
Fri Mar  4 06:26:11 2022 - --- no python application found, check your startup logs for errors ---

can you assist with how this can be corrected?
the below is the start up log which has no error
Checking MySQL liveness on <IP_ADDRESS>...
Initializing Iris database
Importing /home/iris/db/schema_0.sql...
mysql: [Warning] Using a password on the command line interface can be insecure.
DB successfully loaded /home/iris/db/schema_0.sql
Importing /home/iris/db/dummy_data.sql...
mysql: [Warning] Using a password on the command line interface can be insecure.
DB successfully loaded /home/iris/db/dummy_data.sql
Wrote /home/iris/db_initialized so we don't bootstrap db again
[uWSGI] getting YAML configuration from /home/iris/daemons/uwsgi.yaml

fixed with https://github.com/linkedin/iris/pull/684


Image Build Scripts

Create a one click build script for embassy-os.

Use a virtual machine host to run apt upgrades
Apply config patches

MVP Linux Only.

WIP


Fix the .experimental. settings feature so that we don't return an error

Fix the .experimental. settings feature so that we don't return an error
if an experimental setting has been removed/is missing.
Add tests for the .experimental. settings behaviors -- that they correctly
forward through to the real setting if it has become a real setting,
that they don't generate errors when a settig has been removed.
As Pavel notes in https://reviews.llvm.org/D45348, the way I'm suppressing
errors in the setting is not completely correct - if any of the setting
path components include "experimental", a missing setting would be declared
a non-error.  So
settings set target.experimental.setting-that-does-not-exist true
would not generate an error, which is correct.  But as Pavel notes,
settings set setting-does-not-exist.experimental.run-stopped true
should generate an error because the unknown name occurs before the
"experimental".  The amount of change to do this correctly hasn't
thrilled me, so I'm leaving this as-is for now.
rdar://problem/39223054
Differential Revision: https://reviews.llvm.org/D45348
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@331315 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 73723d5b2da4f3eff4153953ba5da06d860ca5f1)

@swift-ci test and merge


updates on k8s config doc

Signed-off-by: Tom Zhang<EMAIL_ADDRESS>Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[ ] If the changes in this PR is part of the next future release, make this pull request against the docs-staging branch which will be published at the next release boundary. If the changes in this PR are part of the current release, use the default base branch, master. For more information about branches, see https://github.com/zowe/docs-site/tree/master#understanding-the-doc-branches.

[ ] If this PR relates to GitHub issues in docs-site or other repositories, please list in Description, prefixed with close, fix or resolve keywords.

Description (including links to related git issues)
Please describe your pull request.
:heart:Thank you!

Made some small edits to the descripion. Otherwise, looks good to me!

TY!!


test(react-router): set up performance testing for Link

Related to #2359, I set up a basic performance testing of the Link component and its simplified versions, using vitest bench functionality.

great work. we should consider running the tests in CI at some point just so we make they do not break. but for now, we won't do this.


[WIP] Create Petition Flows - people powered progress and conversational

Can you tell me why the etc folder was introduced in theme-giraffe? What does it represent?

Can you please remove any commented-out code?

After those fixes, I'm okay with merging it into main for easier testing 😃

@jparkrr those changes should be good & I merged in your container cleanup PR.
PS We had to use setref in part because auto resizing textareas aren't supporting forwardref right now -- https://github.com/andreypopp/react-textarea-autosize/issues/214

Ok thanks. Give me about a day to look over everything again

A good start would be to keep the refs in an object and give them all relevant names, instead of an array. And try to remove magic numbers like "20", hopefully deriving them from something like /giraffe-ui/conversation/conversation.js, or at least pull them out into constants.

Those changes should be done @jparkrr

Just waiting on some backend stuff to merge this. I think there might be some changes to this that will still need to be made after that, e.g. around login, but this is good enough to test.

@jparkrr is it possible to merge this now?


Setting typeName: null from appsettings.json

Does this issue relate to a new feature or an existing bug?

[x] Bug
[ ] New Feature

What version of Serilog.Sinks.Elasticsearch is affected?  Please list the related NuGet package.
serilog.sinks.elasticsearch v8.4.1
What is the target framework and operating system? See target frameworks & net standard matrix.

[ ] netCore 2.0
[ ] netCore 1.0
[ ] 4.7
[ ] 4.6.x
[ ] 4.5.x

Please describe the current behavior?
Given this appsettings.json
{
  "Serilog": {
    "Using": ["Serilog.Sinks.Elasticsearch"],
    "WriteTo": {
      "ElasticsearchSink": {
        "Name": "Elasticsearch",
        "Args": {
          "nodeUris": "...",
          "typeName": null
        }
      }
    }
  }
}

then the typeName isn't set to null in the config.
Please describe the expected behavior?
The expected behavior is that when "typeName": null is set on the ElasticsearchSink appsettings.json config it should configure the TypeName to be null.
If the current behavior is a bug, please provide the steps to reproduce the issue and if possible a minimal demo of the problem
Given the above config, load it using the Serilog.Settings.Configuration extension
.UseSerilog(
    (context, services, configuration) =>
    {
        configuration.ReadFrom.Configuration(context.Configuration);
    }
)

i have same problem

Try this (setup Typename:null and MiniumLogEvent: (i tried Verbose):
 "WriteTo": [       {         "Name": "Elasticsearch",         "Args": {           "nodeUris": "https://elastic:password@<IP_ADDRESS>:9200",           "indexFormat": "JSON-index-{0:yyyy.MM}",           "typeName": null,           "MinimumLogEventLevel": "Verbose"         }       }     ]
Should Work

It looks like this is included in the beta release v9.0.0-beta7

https://github.com/serilog-contrib/serilog-sinks-elasticsearch/discussions/443
https://github.com/serilog-contrib/serilog-sinks-elasticsearch/pull/420

This has been fixed in Serilog.Sinks.Elasticsearch v9.0.0.
Also, note that, when ElasticsearchSinkOptions.DetectElasticsearchVersion is set to true (which is now default setting), options.TypeName will be ignored when Elasticsearch 7 or higher is detected).
For Elasticsearch server v7, the sink will use mandatory type name "_doc", while for v8+ type name is going to be omitted.
The issue can be closed.


Improve Android setup documentation for projects not using .MainActivity

Use case
Sometimes in the android manifest, instead of using android:name=".MainActivity" it will be android:name="io.flutter.embedding.android.FlutterActivity" directly.
Because of that, the MainActivityTest won't work because it is trying to find the MainActivity class.
Proposal
Add more information in the Android setup to say that instrumentation.setUp(MainActivity.class); in MainActivityTest can be replaced by instrumentation.setUp(io.flutter.embedding.android.FlutterActivity.class); if the project is not using the MainActivity file

Feel free to make a PR with these updates.


[BugFix]Fix CTE column prune bug

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #1234
bug from #11757
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:heart_eyes: pass : 1 / 1 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/PruneCTEConsumeColumnsRule.java
1
1
100.00%
[]

run starrocks_admit_test


New version: Pitaya v0.1.5

Registering package: Pitaya
Repository: https://github.com/naustica/Pitaya
Created by: @naustica
Version: v0.1.5
Commit: c64236b71ec6427e3cc0d062a97b29eb732d64fe
Git reference: main
Release notes:

<EMAIL_ADDRESS>

Is there a way to cancel/remove this pull request? I already updated the package to version number 0.2.


Allow to pass additional errors to Tesla.Middleware.Tuples

I'm currently implementing a wrapper for an external API which serves error objects describing any errors that occur on their part. I've written a middleware which checks for this errors and raises a custom error struct containing the error infos from the response.
Since I want to respond with tuples, instead of raising errors I considered using the Tuples middleware but it only catches Tesla.Errors. It would be great if I could pass my own errors to rescue from to the middlware.
Example
plug Tesla.Middleware.Tuples, rescue_errors: [My.Error]

Hi
If I understand correctly you want to raise errors in one middleware and then rescue them in another. I think it would be much cleaner and efficient without raising errors at all.
In similar cases I do something like this:
defmodule Api do
  use Tesla

  plug Tesla.Middleware.Tuples

  def request do
     get("...") |> parse_result()
  end

  defp parse_result({:error, _}),
    do: {:error, %Error{reason: "request failed"}}
  defp parse_result({:ok, %{body: %{failure_reason: fr}}}),
    do: {:error, %Error{reason: fr}}
  defp parse_result({:ok, %{body: %{value: value}}},
    do: {:ok, value}

Let me know what do you think about this approach

The one issue in this case is that the error generating middleware needs to be the first in the stack or all the other middleware need to be able to handle result tuples.
Raising errors allows a better separation between the error generating and error handling while avoiding impact on other middlewares.


Bump log4j to latest

Bump from 2.14.1 to 2.17.0

@jillesvangurp, any thoughts on getting this merged? I also bumped the other logging libraries.


JSON format

optional, defined via .abapgit file

not possible(without a lot of effort) on all 702 versions, see http://scn.sap.com/community/abap/blog/2013/01/07/abap-and-json


Line to replace bezier?

Can we show line between two points instead of bezier?

I don't think so because this package is bezier_chart :)


Remove auto-generated precision headers

We always generated precision headers for shaders.  But now that we are handling shaders from the wild, it would make sense to require them to do the right thing with precision on their own, and not generate these headers.
To make this work, we need to:

Remove the code that does header generation
Ensure that code donation takes care of precision appropriately (we do not want to introduce errors due to donating code when no precision qualifier is available)
Ensure that the samples we provide are updated appropriately

Fixed by #234


Final matplotlib 2.0 compatibility fixes

Addresses the final issues mentioned in https://github.com/ioam/holoviews/issues/1006 for getting matplotlib 2.0 completed.

Looks good. Merging.


Cookie removal options now default to the cookie's own options

Hi there!
I'm not sure whether you'd consider this a bug, but it certainly caused me some confusion in my own project and I think the behaviour is a bit unintuitive:
If a cookie was created with non-default option values (e.g., secure, domain, path) but then those options are left blank/not provided when calling that cookie's .remove() method, then the browser (I've tested with Chrome version 121.0.6167.187) won't delete the cookie.
I found that a common pattern in my own code to avoid this problem was to use cookie.remove(cookie), but this seems clunky.
This PR includes a fix which makes the options to the remove() method fall back on the cookie's own option values if none are specified.
Note that this fallback only happens if the entire options argument to remove is undefined. You can still provide an options argument whose fields have values of undefined and those will be honoured.
Thanks :)

Hi, Cookie on 1.0 is now using this PR behavior by default.
Thank you for your contribution.


Add support for dotenvx decrypt command to undo dotenvx convert command to a .env file

Currently we have
Usage: @dotenvx/dotenvx convert [options]
convert env file(s) to encrypted env file(s)

But not the opposite and 'dotenvx get' will give us json format, maybe something:
dotenvx get --format dotenv or dotenvx get --raw?

great point. adding to the todos. this will probably come after a 1.0.0 release - at which time the commands dotenvx encrypt and dotenvx decrypt will be freed up (they've been moved to dotenvx vault decrypt/encrypt)

effort started here: https://github.com/dotenvx/dotenvx/pull/294
will support by default rewriting the same file, but you can also send to stdout or a filename of your choice. stdout will let you pipe it to other commands to do what you want with it.

this was released as part of 1.6.x - https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md#160
at which time dotenvx was considered feature complete 🏁 https://dotenvx.com/blog/2024/07/11/feature-complete.html


Support generated columns?

Does omniscidb support generated or computed columns?

hi @gunlinan,
we are in the process to support default values for the columns, but not computed columns, if you talking about virtual columns added to the physical column of the table like an as an example a column that add the taxes to a product's price.
anyway, you can easily add a view to a table to get the same .
something like create view table_with_taxes as select *,product_price*product_tax from table would do the job without any performance issue.
Regards,
Candido

In case JSON column type is supported, something like create view table_with_json_extract as select *, json_extract(json_product, '$.product_price*$.product_tax') from table would do the job but definitely will have significant performance issue.
Similar is for view columns that use slow runtime functions.

I case of a calculated column isn't going to add any significant slowdown because the runtime calculation is going to be done via a llvm compiled and inlined calculation.
as example with a medium sized table od 120m records, we create a view with a calculated field like that
create view v_flights_sk_8_120m as select *,depdelay/(distance+1) delay_by_distance from flights_sk_8_120m;
querying the base table with an aggregation on depdelay field, the query takes  arounf150ms
omnisql> select dep_airport_fk,avg(depdelay) from flights_sk_8_120m group by 1 limit 10;
dep_airport_fk|EXPR$1
131389|6.300331938230625
67|14.44618124258013
97|2.327956244807532
324|10.17190432499569
16698|5.803513646875306
33554457|6.194758190327613
641|5.44605358435916
134217995|-2.062944718117132
1048896|5.465416289808159
16777510|6.838775982586059
10 rows returned.
Execution time: 153 ms, Total time: 154 ms

running the query on the view using the calculated field is taking the same time
omnisql> select dep_airport_fk,avg(delay_by_distance) from v_flights_sk_8_120m group by 1 limit 10;
dep_airport_fk|EXPR$1
131389|0.0002167306423414615
67|0
97|0.002146219883688729
324|0.0009092110578811258
16698|0.001119217376886089
33554457|0.02327613104524181
641|0.000724112961622013
134217995|0.08045977011494253
1048896|0.004546103679725805
16777510|0.0007216638815757109
10 rows returned.
Execution time: 148 ms, Total time: 150 ms

Using a json table function that's has to be parse the json and it's going to generate rows and column it would be different, nd the performance hit could be huge, but it's an entirely different matter.
Best regards,
Candido

View is not performant on semi-structured data.


Add sharding strategy support

What this PR does / why we need it
This PR adds the code that was added to PMO towards this issue https://github.com/giantswarm/giantswarm/issues/30673 to be able to configure the sharding strategy for some installations or some clusters only
Checklist

[x] Update changelog in CHANGELOG.md.

@giantswarm/team-atlas I'd love some eyes ;)

@TheoBrigitte could you take another look? I think I addressed all your concerns :)


add support for another languageId than 'yaml'

Be able to add different type of language (different fileExtension) but with same syntax and support as yaml.
Formatting doesn't work here, because it's registered constantly to 'yaml' language.

implemented

implemented


listmonk: 2.2.0 -> 2.5.1

Description of changes
It was impossible to package further versions before because listmonk upstream was using a very EOL Go version.
I was waiting for upstream to bump this, but it didn't happen, so I take the matters in my hand.
Hopefully, the upstream PR will be accepted.
Integration tests are fixed.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

 I should have never included a patch like this, it will get broken soon when it will be merged ugh.

Follow up in https://github.com/NixOS/nixpkgs/pull/251819


Remove unused dependencies

There are several dependencies in composer and yarn that are no longer used and be removed.
Examples:

[ ] ChartJs

Closed by #784.


feat(autoprefixer) Hook up autoprefixer for less, scss, and css.

Autoprefixer is a tool that uses data from caniuse.com to add vendor prefixes for styles that need them. It saves developers from having to manually prefix things, and is widely used these days.
Since it's available as a postcss plugin, it makes sense to inlcude it in the angular-cli build step by default.
This implementation uses the default browser targeting settings: last two versions, or whatever's in the user's project's browserslist.
Closes #1512.

Will fix tests soon :) Sorry...

I'm not sure that code added in tests really needed.

yes - I have a test that verifies that auto prefixed works for css, which works.
however it should also happen at the end of the loader chain for less and scss too. I haven't had time to dig into the less/scss test infrastructure to see what I did wrong yet. I will get to it soon.

Awesome :) Thanks for the help on this one.

Thanks for getting this in - just curious though - did I accidentally duplicate a PR from @renehamburger ?

Uh, I kinda don't know what happened there. I might have botched the merge process when I did it in a batch...

No worries - was just curious

Hi there. Our team is really appreciating the efforts you did for getting Autoprefixer into the angular-cli. However, right now we don't see it in our copy of beta 19-3. Is there something we are missing that needs to be done?

@rokie83 it's merged after 19-3, and not released yet. All you can do is either try to work from CLI's git repo, or wait for the next release.
This is sort of why I started the discussion about release frequency in @3127


Infinite loop on recursive specs/schemas

I'm using the Floki web parsing library and have defined the following specs for use in my own code:
def floki_html_tree(),
  do: coll_of(one_of([floki_html_comment(), floki_html_doctype(), floki_html_tag()]))

def floki_html_comment(),
  do: {:comment, spec(is_binary())}

def floki_html_doctype(),
  do: {:doctype, spec(is_binary()), spec(is_binary()), spec(is_binary())}

def floki_html_tag(),
  do: {floki_html_tag_name(), coll_of(floki_html_attribute()), floki_html_children_nodes()}

def floki_html_tag_name(),
  do: spec(is_binary() and (&(&1 in ["a", "body", "div", "h3", "head", "html", "li", "link"])))

def floki_html_attribute(),
  do: {spec(is_binary()), spec(is_binary())}

def floki_html_children_nodes,
  do: coll_of(one_of([floki_html_tag(), spec(is_binary()), floki_html_comment()]))

Note that floki_html_children_nodes() makes a recursive reference to the floki_html_tag() spec. I don't get an error, but my code enters an infinite loop while my laptop gets very loud and very hot. (To be clear, the data structure is a tree, but its definition is a cyclical graph, which is presumably what's "trapping" the Norm parsing code.)
My workaround is to "dumb down" the definition of floki_html_children_nodes(), which makes my code run but isn't giving me the code safety that I want:
def floki_html_children_nodes(), do: spec(is_list())

Then again, one is mostly dealing with small fragments of html, having targeted the specific fragments while parsing, and one mostly only cares about the top level or two of any particular html sub-tree. There may also be a trade off to make between speed and granular accuracy.
On a related note, and perhaps worthy of another issue, is how to deal with third-party libraries. I don't necessarily want to go down Typescript's index.d.ts rabbit-hole. And perhaps it's easy enough to define one's own specs (at the granularity one requires for one's use of them).

I started playing around with the defspec idea. Unfortunately I think we still end up in the "everything has to become a macro" situation. The reason is that the only way I can think to "register" specs is to add them to a module attribute in the module the spec is defined in. When we go to conform values we no longer know what module the spec is defined in. You'd need to pass along more information like {__MODULE__, :tree_spec} which seems pretty janky. It also makes it really hard to tell when you want to call a recursive spec vs. when you want to conform values against a tuple with atoms inside it. The only way I can think to make things ergonomic is to use macros in many other places. That seems...less awesome. If other folks have ideas on how to solve this I'd be interested to hear them.

Another option I just thought about (but haven't fully considered yet) is the idea of supporting spec(:tree). This would potentially allow us to build recursive definitions and support specs exported from other modules. But its a bit weird and non-ergonomic. But I wanted to jot down the idea while I was thinking about it.

I am running into this right now. I'm not sure if this is a good idea but I'm processing a swagger file and turning it into Norm specs. The swagger spec includes some recursive definitions.
It's impossible to define a recursive schema in norm, but it is possible to call valid?/2 in a predicate function, so the result is that everything is validated correctly (as far as I can tell), but errors aren't bubbled up, since valid?/2 only returns a boolean.
I wonder if it might be possible to accept not only boolean output from predicates, but also allow them to call conform/2 and process the results of that transparently. Or perhaps it would be easier (for library users) to allow returning a norm spec in a predicate function, which would then be run by Norm, and the output captured that way.
I might experiment a little with this to see if it's something that could be done without too much difficulty.


How to set the entry_point?

I use the following code to deploy a pretrained model:
m = MXNetModel(model_data=model_dir,                role=role, env=env, py_version='py3',                entry_point='transform_scripts.py')
predictor = m.deploy(instance_type, initial_instance_count)
It works fine. transform_scripts.py defines model_fn and transform_fn.
After built a MXNet serving image following this repo, I applied into the code:
m = MXNetModel(model_data=model_dir,                role=role, env=env, py_version='py3',                image='IMAGE URL IN ECR',                entry_point='transform_scripts.py')
predictor = m.deploy(instance_type, initial_instance_count)
Then deployment got the following error from Cloudwatch:
 W-9000-model-stdout com.amazonaws.ml.mms.wlm.WorkerLifeCycle - ModuleNotFoundError: No module named 'transform_scripts'
Should I package my entry_point script into the Dockerfile?

I figured out.


Updated Minimum Tournament Size to 60 to match gold event player minimum

Updated Minimum Tournament Size to 60 to match gold event player minimum

Okay I've recommitted with a signature!


Crash while generating text that includes some special characters

.env
# Generic
MODEL_N_CTX='2048'
N_GPU_LAYERS=320
TEXT_EMBEDDINGS_MODEL=sentence-transformers/all-MiniLM-L6-v2
TEXT_EMBEDDINGS_MODEL_TYPE=HF  # LlamaCpp or HF
USE_MLOCK=true

# Ingestion
PERSIST_DIRECTORY=db
DOCUMENTS_DIRECTORY=source_documents
INGEST_CHUNK_SIZE=500
INGEST_CHUNK_OVERLAP=50

# Generation
#MODEL_TYPE=LlamaCpp # GPT4All or LlamaCpp
#MODEL_PATH=TheBloke/GPT4All-13B-snoozy-GGML/GPT4All-13B-snoozy.ggml.q4_0.bin
MODEL_TYPE=LlamaCpp # GPT4All or LlamaCpp
MODEL_PATH=eachadea/ggml-vicuna-7b-1.1/ggml-vic7b-q5_1.bin
MODEL_TEMP=0.8
MODEL_N_CTX=2048  # Max total size of prompt+answer
MODEL_MAX_TOKENS=256  # Max size of answer
MODEL_STOP=[STOP]
CHAIN_TYPE=betterstuff
N_RETRIEVE_DOCUMENTS=100
N_FORWARD_DOCUMENTS=100

Python version
Pthon 3.10.6
System
Ubuntu 22.04 WSL
CASALIOY version
e5e8e2b
Information

[X] The official example scripts
[ ] My own modified scripts

Related Components

[ ] Document ingestion
[ ] GUI
[X] Prompt answering

Reproduction
I ingested documentation for some framework I use at work, but generating answers often leads to this error:
\`\`\`java
containerRunner.call().notification("Job updated successfully.");
containerRunner.fullRefresh();
\`\`\`
llama_print_timings:        load time =  5599.29 ms
llama_print_timings:      sample time =    58.62 ms /   146 runs   (    0.40 ms per token)
llama_print_timings: prompt eval time = 10652.43 ms /  1759 tokens (    6.06 ms per token)
llama_print_timings:        eval time = 15696.45 ms /   145 runs   (  108.25 ms per token)
llama_print_timings:       total time = 34172.49 ms
Traceback (most recent call last):
  File "/home/doughno/_dev/CASALIOY/casalioy/utils.py", line 38, in print_HTML
    print_formatted_text(HTML(text).format(**kwargs), style=style)
  File "/home/doughno/_dev/CASALIOY/.venv/lib/python3.10/site-packages/prompt_toolkit/formatted_text/html.py", line 35, in __init__
    document = minidom.parseString(f"<html-root>{value}</html-root>")
  File "/usr/lib/python3.10/xml/dom/minidom.py", line 1998, in parseString
    return expatbuilder.parseString(string)
  File "/usr/lib/python3.10/xml/dom/expatbuilder.py", line 925, in parseString
    return builder.parseString(string)
  File "/usr/lib/python3.10/xml/dom/expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 169, column 41

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/doughno/_dev/CASALIOY/casalioy/startLLM.py", line 135, in <module>
    main()
  File "/home/doughno/_dev/CASALIOY/casalioy/startLLM.py", line 131, in main
    qa_system.prompt_once(query)
  File "/home/doughno/_dev/CASALIOY/casalioy/startLLM.py", line 110, in prompt_once
    print_HTML(
  File "/home/doughno/_dev/CASALIOY/casalioy/utils.py", line 40, in print_HTML
    print(text.format(**kwargs))
ValueError: Single '}' encountered in format string

I don't know how to reliably reproduce it, but I would expect that a lot of code related text generation would fail in a similar way.
Expected behavior
The program shouldn't crash when generating text with any special characters.

Yep that's my fault, should have escaped the brackets

added x

Yep that's my fault, should have escaped the brackets

Also i did see other characters that did this same error, but I don't know if I can find them all.
(Also sidenote, IDK why I have the close actions available to me as well)

on every issue?

on every issue?

Just this one.

If you come across "Also i did see other characters that did this same error" again, please share them here.

should be fixed for now. if you this error persists just ping me here.


adds k units to 100k map (DEMO)

closes #1234

Make these changes on:

[x] 100k legend and tooltip
[ ] 100k map alert for selected population
[ ] 100k simple barchart hover tooltip, bar label, x-axis ticks

Leave the table info as more detailed number, eg 12,453 cases per 100k

closing; the only place this still might make sense is in the legend, but we will revisit as needed


refactor!: Transform the package to a library

BREAKING CHANGE: Removed the obsolete bootstrap-related stuff from the driver
I wanted to incorporate the recent version of this driver to Espresso, but this failed miserably. Now direct inheritance is used which brings a lot of unnecessary/deprecated stuff to UIA2 and Espresso with it.
It is time to put an end to that and delete the obsolete stuff from this package for good, so AndroidDriver becomes a simple collection of common procedures for UIA2 and Espresso drivers

FINALLY!!!


Show / not show component content

How do I change a "state" to show or not show component content?
Ex:
import { useSignal } from "@preact/signals-react";
import { Button } from '@mui/material';
import './App.css';

const Display = ({open}) => {
  console.log(`render <Display /> with open=${open}`);
  return (

      {open &&

          SHOW

      }

  )
}

const App = () =>{
  const countA = useSignal(0);
  const countB = useSignal(0);
  const open = useSignal(false);

  const handleOpen = () => open.value = !open.value;

  console.log("render");
  console.log(open.value);

  return (

      <Button onClick={() => countA.value++}>countA: {countA}</Button>

      <Button onClick={() => countB.value++}>countA: {countB}</Button>

      <Button variant="contained" onClick={handleOpen}>{open ? 'Show' : 'Close'}</Button>

      <Display open={open.value} />

  )
}

export default App;

Thanks.

Probably a duplicate of #298. Try downgrading to v1.1.1, that should help.
<Button variant="contained" onClick={handleOpen}>{open ? 'Show' : 'Close'}</Button>

Unrelated, but this probably is a bug. Signals are objects, and objects are truthy, so 'Show' will always be shown. You want the following instead:
<Button variant="contained" onClick={handleOpen}>{open.value ? 'Close' : 'Show'</Button>

I imagine you want the strings to be reversed too, showing 'Close' when the display is open, and 'Show' when it's hidden.

Thank you very much for your answer.
I really had an error of mine in the "... onClick={handleOpen}>{open ..." part. The correct way would be to use open.value, but it still has the same behavior.
I downgraded it, but the behavior remained the same as with useState. Every component was rendered.
Thanks

I downgraded it, but the behavior remained the same as with useState. Every component was rendered.

That's correct, if you're using React. Only text nodes (countA & countB, from above) get to skip full component rerenders if you're using React.
I'll close this out as a duplicate, but feel free to reply if you're still having issues.


Network Dashboard: Variables have missing labels

A note for the community

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
If you are interested in working on this issue or have submitted a pull request, please let us know in a comment

Problem
In the CDOT Network Dashboard the variables show no label next to the selector.
The code shows the label value is an empty string opposed to other dashboards where label is set to "null".
Bad:
https://github.com/NetApp/harvest/blob/3dadba1a26945ada077fc224b1da8af02788f439/grafana/dashboards/cmode/network.json#L4979
Good:
https://github.com/NetApp/harvest/blob/3dadba1a26945ada077fc224b1da8af02788f439/grafana/dashboards/cmode/volume.json#L9391
I use Grafana v11.3.1.
Configuration
No response
Poller
n/a
Version
24.11.1
Poller logs
No response
OS and platform
RHEL 8.10
ONTAP or StorageGRID version
n/a
Additional Context
No response
References
No response

Yes @mamoep ,
There is some bug when opening the dashboards in Grafana 11.x.x, Thanks for highlighting this.
We will fix this and validate for all the dashboards for this kind of issue.
From Volume dashboard,

From Network dashboard, There are no variable names visible

Hi @mamoep ,
The nightly build is available now, which has the fix for this mentioned issue. https://github.com/NetApp/harvest/releases/tag/nightly

Thanks @mamoep for the confirmation.


False value cause aria boolean attributes to be removed from the DOM

Version
2.6.11
Reproduction link
https://www.dropbox.com/s/3ltqeent65djedw/problematic-false-aria-values.zip?dl=0
Steps to reproduce

Extract the provided zip archive and enter the produced "problematic-false-aria-values" directory.
Install dependencies (i.e. yarn install).
Run the development server (i.e. yarn serve) and head to its url with your favorite browser.
Inspect the DOM of the page: the aria-checked and aria-expanded attributes won't be there.
Enable the checkbox and/or expand the toggle.
Inspect the DOM of the page: this time both aria-checked and aria-expanded will be there as expected.
Disable the checkbox and collapse the toggle.
Inspect the DOM of the page: the aria-checked and aria-expanded attributes won't be there, again.

What is expected?
Aria attributes should be present in the DOM even if their value is false.
What is actually happening?
Aria attributes are not present in the DOM when their value is false.

Unlike for html 5 boolean values, removing aria attributes from the DOM when their value is false changes the page semantics and degrades its accessibility, causing markup validation issues as well.

I was just looking at an older, closed issue on the same topic: https://github.com/vuejs/vue/issues/7422#issuecomment-617272952.
What about just addressing this in the docs? Maybe specifically calling out bindings of aria- attributes.

This behavior was actually changed in Vue 3, unfortunately (see https://v3.vuejs.org/guide/migration/attribute-coercion.html#overview), and should be immediately reverted.
I came here looking to file an issue because upgrading to v3 broke most of my templates due of this change. I saw this issue was still open, so I'm adding my feedback.
With Vue 3 it is now a HUGE pain for developers to get boolean attributes working correctly as our code now has to reassign completely legitimate false values to null, which is not only awkward and incorrect programming, but makes for more verbose and ugly code. As much as I love and support Vue, this was a big oversight that needs to be reverted before v3 adoption hits critical mass.
Two use cases to illustrate:
All of my components manage errors using none other than true and false, which then drives other component and templates logic. That validation logic now has to carefully reassign error states to null instead of false (or fill templates will explicit false => null conversions, gross!). There's also the dilemma that not all  of these error are used to toggled boolean attributes, so should they all blindly do the null thing, or do all devs need to learn and understand which errors get bound to bool attributes and null those while not nulling others? What was a clean and reliable solution is now messy and error-prone.
I have permissions UI where the permissions come from a data store with permission values stored as true and false. All the false permissions now have to be explicitly reassigned to null in order for the UI to be correct. And I have to write more code to convert them back to false before passing them over to my storage API.
This is resulting in some really weird and ugly code.
Non-boolean attributes, in particular those that expect the string "false", should continue to be required to provide a string. Unlike the false to null dookie that's now required, the false to "false" is a very easy and clean false.toString(). This was never a problem for people who read the docs.
For the sake of Vue's ease-of-use and cleanliness, please consider reverting!

This is a breaking change improvement so it won't be possible to add to Vue 2 but it's working properly in Vue 3 by automatically casting false in true and only removing attributes in null and undefined 🎉 . More info at https://v3.vuejs.org/guide/migration/attribute-coercion.html#enumerated-attributes

<x-foo :boolean-attribute="aBoolean" :attribute-with-false-as-string="aBoolean.toString()"> <-- How it should be.


Auto-start the jupyter notebook server if none exists

I think it would be really cool if a jupyter notebook session could be started from within nvim, e.g.

I open a *.ju.py file in neovim
If there is no jupyer notebook server on 8888, jupynium starts a server for me and creates a self generated token, such that I don't have to enter it.
Selenium starts and automatically accesses the jupyter notebook server with the correct token
The corresponding ipynb is opened

Thanks for the cool suggestion!
I think Jupyter Notebook doesn't provide me with the token with the API. I can launch the server but can't know the token. Maybe there's a way if I delve into their implementation..
A little hacky way is I can maybe infer the URL from the output and open it. I'll look into this.
In the meantime, you can use password rather than token. You can even diable the password completely, which will make it easier to connect.

You can supply a custom token for the server to use as an additional argument along with a bunch of other things:
jupyter notebook --NotebookApp.token=1234

The directory can be specified via the argument --NotebookApp.notebook_dir=dir

@FelixKratz I originally thought about reading the URL but this looks simpler, although it will add some security risk. I think I will just make the command configurable and give you a default command template. I think the token has to be configurable also, but if it stays in the init.lua it is also a little risky

If the token is generated somewhat randomly it should be fine, as it is only hosted on the loopback interface anyways.

If I have a *.ju.py file open I could imagine that it would be nice to have a command that starts the notebook server, starts jupynium and starts syncing the file to the server, such that it is an all-in-one command. When the notebook server is run from jupynium directly there is no reason to wait with syncing, because no manual input is needed. Maybe a new command? Something like: JupyniumStartNotebookServerFromBuffer or something a bit shorter ^^

If I have a *.ju.py file open I could imagine that it would be nice to have a command that starts the notebook server, starts jupynium and starts syncing the file to the server, such that it is an all-in-one command. When the notebook server is run from jupynium directly there is no reason to wait with syncing, because no manual input is needed. Maybe a new command? Something like: JupyniumStartNotebookServerFromBuffer or something a bit shorter ^^

If a server is already running on 8888 this command should probably fall back to attaching to the server and syncing the new file to a new ipynb instance

I wanted to make commands as self-explanatory as possible so users have no confusion. Do you fuzzy-find the commands? I'm using wilder.nvim and I start server by typing :jara<tab> for example. I get that it sometimes gets too long though.
I can leave the current behaviour as is so that you can customise. You can make a custom function that calls both commands (or lua functions).
And maybe I can add the fallback behaviour when server is not available, it will open the server and open the notebook if it exists and start syncing.

I wanted to make commands as self-explanatory as possible so users have no confusion. Do you fuzzy-find the commands? I'm using wilder.nvim and I start server by typing :jara<tab> for example. I get that it sometimes gets too long though.
I can leave the current behaviour as is so that you can customise. You can make a custom function that calls both commands (or lua functions).
And maybe I can add the fallback behaviour when server is not available, it will open the server and open the notebook if it exists and start syncing.

Nice, at some point I will create a keyboard shortcut to execute these commands.

Another idea that I just had was that when the jupyter notebook process is started via jupynium in nvim it could be nice to have a popup window available in nvim that shows the console output of the jupyter notebook process. It is not important, but could be nice to have to check for the status of plugins etc.

By popup you mean another split or using something like plenary popup and make it look like Telescope? I've never used the popup feature before but in that case you can only see the output when it's open and you're not changing the buffer right?

I had something like telescope in mind, but this is something I would maybe use only once or twice a month to be honest.

This has been almost implemented (except the popup stuff).
You can try the feat/autostart-notebook branch (branch = 'feat/autostart-notebook' on packer) to test it out before it gets released.

Now this is done. Thank you for the awesome feedback!

First of all, thank you for adding this awesome feature! It is really nice.
I have noticed a problem however, it seems that the auto sync is not working, a tab appears and then instantly closes again:
https://user-images.githubusercontent.com/22680421/214052480-7fd90c29-3c5a-4c73-9009-278bdac2043a.mp4
This is my config: https://github.com/FelixKratz/dotfiles/blob/master/.config/nvim/lua/plugins/jupynium.lua

Oh, sorry for the trouble. I tested it on Mac also and it's working okay for me..
So if you don't autostart the server and start syncing, it works?

 I want to know if it's a problem caused by that function, or from the autostarting logic. I can't reproduce it now. Do you use Mac Homebrew python 3.10 or above? There's a bug that will be fixed from the pip side, which breaks the installation on mac. Maybe that's affecting this too (like maybe some files are not correctly installed)
Maybe can you try building with pip3 install -e . or /usr/bin/pip3 install .?
Or is it possible to run with CLI nvim --listen /tmp/jupy_nvim and jupynium --nvim_listen_addr /tmp/jupy_nvim and paste the output here?

No, if I press 'n' it works without doing anything else. So 'n' does what I thought 'y' would.

That's bizarre. It doesn't happen to me. 'n' opens a file and start syncing as well? I need to investigate why that happens

That's bizarre. It doesn't happen to me. 'n' opens a file and start syncing as well? I need to investigate why that happens

Yes, here is a video of that:
https://user-images.githubusercontent.com/22680421/214116407-de72042b-dda0-4221-9fc1-f7b732499356.mp4

That's really funny..
https://github.com/kiyoon/jupynium.nvim/blob/3b86f69a6893a475b44f24652b5a8fc63f3ae420/src/jupynium/cmds/jupynium.py#L403-L410
As you can see it should only do something when the input is y. Also can't really reproduce the hanging issue. What's your python version (I'm assuming Homebrew python 3.10)? I'll test on mac again and will come back to you.

python version is
 # python --version
Python 3.9.7

Is that the one that installed Jupynium?
Will this work?
python -m jupynium --version

Is that the one that installed Jupynium?
Will this work?
python -m jupynium --version

 # python -m jupynium --version
Jupynium v0.1.dev20+g3b86f69

Maybe there is something strange going on in my neovim....

Version looks fine. Mine is Jupynium v0.1.1.dev41+g3b86f69 (I didn't know the formatting of version is different on different system) but the commit is at least the same

I finally reproduced. I'll see and let you know. Sorry for the hassle

The issue is when auto_start_sync is enabled it will start syncing on top of the fallback sync behaviour together. That's why n will sync normally as well and y clashes

Ah yes, that makes sense!

It should be fixed now by #25


COVID Alert crashed in the background (iOS)

COVID Alert crashed while in the background while another app was being used. My partner is blushing about her choice of game, but here's a screen shot 😸 :

This happened somewhere around 20:00 ET on July 2, 2020 and she tapped Share, so there should be a dump of the issue in the Apple App Store Connect account. Since it crashed in the background, it may or may not be relevant that she has the iOS Setting Background App Refresh set to Off.
Some extra details:

Device: iPhone 7
OS: iOS 13.5.1
App Version: 1.0 (13)

@jeffmaher just to confirm this happened once or continues to happen?

Continues to happen. Happened twice more since filing, at different times of the day.

Here's the crash reports from TestFlight

@Stephen-PM
Given this is very reproducible - please drop a priority tag on this.

Happened again at 6:58p ET ish. I think debug/Sentry is now on, so perhaps there's more detail available. cc @jeberhardt

Haven't seen any logs in Sentry that point to this crash.
I was able to get the crash logs directly from Jeff's phone, and after some hunting around was able to get the dsym files required to desymbolicate the crash logs. I did spend a bunch of time trying to get the .app or .ipa files, but it turns out that you don't actually need those files to desymbolicate. I've attached the 4 crash logs.
It seems there's an issue with the startup of the app, perhaps when it's trying to execute the backgroundFetch.
Here's the main message of the crashes:
Exception Type:  EXC_CRASH (SIGKILL) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note:  EXC_CORPSE_NOTIFY Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d Termination Description: SPRINGBOARD, scene-create watchdog transgression: application<ca.gc.hcsc.canada.stopcovid>:5961 exhausted CPU time allowance of 4.56 seconds | ProcessVisibility: Background | ProcessState: Running | WatchdogEvent: scene-create | WatchdogVisibility: Background | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 9.220 (user 9.220, system 0.000), 88% CPU", | "Elapsed application CPU time (seconds): 5.035, 48% CPU" | )
CovidShield-2020-07-08-173817.ips.beta.crash.txt
CovidShield-2020-07-08-203504.ips.beta.crash.txt
CovidShield-2020-07-09-172938.ips.beta.crash.txt
CovidShield-2020-07-10-092110.ips.beta.crash.txt

The error code is 0x8badf00d (ie: ate bad food).
Here's a slightly outdated article that may shed some light on the issue: https://geek-is-stupid.github.io/2018-10-15-0x8badf00d-ate-bad-food/

From my perspective 2 cents:

all crash logs are watchdogs crashes because app took too long to launch. it means that execution from within appDidFinishLaunchingWithOptions did not return within 4.5s
crash stacks show that actual block happens inside `[RNSplashScreen show]:

6   Foundation                    	0x000000019a9ecefc -[NSRunLoop+ 32508 (NSRunLoop) runUntilDate:] + 88
7   CovidShield                   	0x0000000102f5d5d8 +[RNSplashScreen show] + 2528728 (RNSplashScreen.m:31)

in theory, js code is expected to call SplashScreen.hide(); to unblock launch call and return to appDidFinishLaunching.

const appInit = async () => {
  try {
    const locale = await AsyncStorage.getItem(Key.Locale);
    if (locale && locale !== i18nManager.details.locale) i18nManager.update({locale});
  } catch (error) {
    console.error(error);
  }
  // only hide splash screen after our init is done
  SplashScreen.hide();
};

I suspect [RNSplashScreen show] may be messing with some RN machinery executing js code when in background.
My suggestion is using
+ (void)showSplash:(NSString*)splashScreen inRootView:(UIView*)rootView

API instead for showing splash screen (it doesn't use nested runloop and doesn't block appDidFinishLaunching)

@jeberhardt Do you think Sergey suggestion would work?

I don't believe that RNSplashScreen is the cause of this crash. The NSRunLoop that is being called only gets called once, which is the expected behaviour. It must be something else causing the app to not complete launching.
This crash has not been reported by this user in over a week, which is many releases ago now. It still remains only being reported by 1 user.
I would recommend not addressing this issue for this release, and to revisit the issue if more crashes are observed.

@jeffmaher I've walked through the finding with @jeberhardt and have decided to close this and re-open as needed.
There's been a lot of movement since the release where this was originally reported and also since last crash that we know about.
Potentially we can look at removing or using a different SplashScreeen package but we'll park that for now and see if anything comes up again.
We're also making adjustments here:
https://github.com/cds-snc/covid-shield-mobile/issues/700

My partner's last crash happened on 7/18/2020 at 2:45p ET

Look like this is related https://developer.apple.com/forums/thread/124596

iOS background task has to have .exposure-notification at the end. See https://developer.apple.com/documentation/exposurenotification/building_an_app_to_notify_users_of_covid-19_exposure#3592643 and https://medium.com/macoclock/a-journey-towards-apples-exposure-notification-framework-and-how-to-use-it-2a7a2c4d7fc4

Some new crash logs.
CovidShield-2020-07-16-172506.ips.beta.crash.txt
CovidShield-2020-07-16-194106.ips.beta.crash.txt
CovidShield-2020-07-18-141518.ips.beta.crash.txt


We need more galleries! Please add Phugo)

Hello, @digitalcraftsman ! If everything is okay, it may be taken from here

thanks for your continious work in the Hugo community by creating and porting themes. This theme fills definitely a gap in the theme collection.


Config bools that default to true require more work

In #954, we discovered that booleans that default to true were being overridden when applying default values. When boolean values are processed by the defaults library, there is not way to distinguish between a false that was intentionally set and a zero boolean value. This results in the default boolean value being used (true in this case) making it not possible for a boolean that defaults to true to be set to false.
We fixed this by setting a pointer to a boolean value so that there are three possible states for a boolean: true, false and nil. If we send a nil boolean to the defaults library it is properly interpreted as unset and can be updated to false.
There is some technical debt leftover from this fix:

We should add a getter function for HoneycombLoggerConfig.SamplerEnabled
We should add a default-true type in order to avoid hardcoding true values in getter functions for related fields.

@robbkidd Already added the GetSamplerEnabled getter function in #969. I suggested in that PR that perhaps getter functions for the other fields on HoneycombLoggerConfig should be added as well.

So, I did the work of trying to look up struct tags values using reflect in https://github.com/honeycombio/refinery/pull/996, but the consensus is that its wasteful to look up struct tags when we can instead put effort towards creating a defaultTrue type. I will try and work on adding that type.


Yafc fork

I'm very sorry to contact oyu through here,
but your modified version of YAFC is throwing this error.
It seems something is reffering to your folder structure on your HD?

No problem, I see that the issues were not enabled on the fork. (I assumed they were by default)
I copies the report to https://github.com/veger/yafc/issues/1


Remove some styles

I would like to remove a few styles from Kickoff. Horizontal definition lists, some nav list styles and some other things.. I don't think they're useful to Kickoff's core.. do you agree @ashleynolan @nicbell?
Here's the sauce:
Horizontal Definition list
.dl-horizontal {
	@include clearfix;

	dt {
		@include text-overflow();
		float: left;
		clear: left;
		width: 220px;
		text-align: right;
	}

	dd {
		margin-left: 240px;
	}
}

Nav styles
We could keep .unstyled but remove nav ul & nav ol...
/**
 * Unstyled lists
 */
.unstyled,
nav ul, nav ol {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-image: none;
}

Blockquote
/**
 * Blockquotes
 */
blockquote {
	padding-left: 10px;
	margin: $baseline;
	border-left: 4px solid lighten(#000, 80%);

	p {
		margin-bottom: 0;
		@include font-size($type-base);
		font-weight: 300;
	}

	small {
		display: block;
		color: lighten(#000, 70%);

		&:before {
			content: '\2014 \00A0';
		}
	}
}

// Quotes
q,
blockquote {
	&:before,
	&:after {
		content: "";
	}
}

Address
// Addresses
address {
	display: block;
	margin-bottom: $baseline;
	font-style: normal;
}

Close Button
/**
 * Close Button: for lightboxes etc
 */
.btnClose {
	position: absolute;
	right: 20px;
	top: 20px;

	display: block;
	height: 20px;
	width: 20px;
	line-height: 17px;

	background: #000;
	color: $color-primary;
	text-align: center;
	border-radius: 5px;
	cursor: pointer;
	user-select: none;

	&:hover {
		color: #fff;
		border-radius: 50px;
	}
}

Definitely agree with removing the close button, address, and horizontal dl styling.  Agree with keeping the unstyled list class and getting rid of the nav ul/ol selector too – can simply put the unstyled class on these elements if you need that styling that way.
Blockquote I’m not sure about whether we should remove – it’s quite a useful thing to have as it’s often used on sites.  Any reason in particular you wanted to scrap?

Thanks @ashleynolan, I felt that the blockquote is not useful enough to keep. It is one of those things that would change on almost every project & not integral to the framework. I don't mind keeping it, just wanted to gauge opinions.
I'll remove the others.

After thinking about it some more, I'd like to remove some more of the button styles:
Large, Small, Pill, Block & Natural Buttons
I just don't think that they're used often enough. Perhaps the .btn--block could stay but I'm fairly certain the rest can be safely removed.
// Button Modifiers
// --------------------------------------------------
// These all follow the same sizing rules as above; text is 1em, space around it
// Large
.btn--large {
	@include font-size($type-large);
	line-height: 3;
	height: 3em;
	padding-right: 2em;
	padding-left: 2em;
	border-radius: 6px;
}

// Small
.btn--small {
	@include font-size($type-small);
	line-height: 1.5;
	height: 1.5em;
	padding-right: .75em;
	padding-left: .75em;
	border-radius: 3px;
}

.btn--pill {
	padding-left: 1.5em;
	padding-right: 1.5em;
	border-radius: 100em;
}

// Block button
// -------------------------
.btn--block {
	display: block;
	width: 100%;
	padding-left: 0;
	padding-right: 0;

	// Vertically space out multiple block buttons
	// same ad .btn--block + .btn--block
	& + & {
		margin-top: 10px;
	}
}

// Specificity overrides
input[type="submit"],
input[type="reset"],
input[type="button"] {
	&.btn--block {
		width: 100%;
	}
}

// Make the button inherit sizing from its parent.
.btn--natural {
	vertical-align: baseline;
	font-size: inherit;
	line-height: inherit;
	height: auto;
	padding-right: .5em;
	padding-left: .5em;
}

What do you think?

I removed .btn--large, .btn--small, .btn--pill & .btn--natural but kept .btn--block


XSD Issue with attribute in xml

Describe the bug
I find some issue with XSD when xml element have also attribute paramter. Atlasmap doesn't read it correctly.
Attach .adm file and source document examples
I have attached XML sample and its XSD document. In XML sample there is one field Password which have Type attribute and it also have some value. I have  higlighted both the paramters below.
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
wsse:UsernameERICSSON</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"> Ericsson2020 </wsse:Password>
</wsse:UsernameToken>
But atlasmap is not showing password field with string datatype so I am not able to map password in target document.

Left doc is XSD and right one is XML.
To Reproduce

Import XML and XSD sample attached.
See the difference b/w structure in XML password field with string datatype is visible but not in XSD .

Unfortunately this is not yet supported, there're some restrictions on XML structure - we'll track it on #3785


minor readme typo

s/headcale/headscale
btw. I like the name headcale better.

Or headkale even better :P
Thanks!


New package: Numerics v0.1.0

Registering package: Numerics
Repository: https://github.com/djsegal/Numerics.jl
Created by: @djsegal
Version: v0.1.0
Commit: 33ca8b7986ee18f99d0f85d34fd3222daedd5679
Reviewed by: @djsegal
Reference: https://github.com/djsegal/Numerics.jl/commit/33ca8b7986ee18f99d0f85d34fd3222daedd5679#commitcomment-39084946

Based off of one of Alan's requests for an extended-standard library

It doesn't seem like a good idea to start merging "collection"-packages where someone just puts together a bunch of their favorite packages and slaps a name on it. It pollutes the namespace of the registry and there are also problems with compatibility.

Especially with such a generic name...


When creating the new Post the "Untitled Post" is hard written text instead of Placeholder.

When we create a new Post the Title is set to "Untitled Post" as a text.
So if a user needs to add title first he needs to Remove the Title manually.
Instead we can set the "Untitled Post" as a placeholder.

can you please help me to setup this application locally?

Raised PR for this issue - PR:255


ci(draw-zmk): enable extended globbing for pattern matching

This will allow for more advanced patterns of keymap_patterns to be defined and picked up.

Thanks!


missing documentation on how to upgrade virtual node

There is no documentation on how to upgrade the virtual node kubernetes version.

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

ID: 916ac90f-8a94-5f3d-eb99-fe06c39eb6cf
Version Independent ID: 2aad2e47-7fde-8d24-f824-236a26e5d887
Content: Create virtual nodes using Azure CLI - Azure Kubernetes Service
Content Source: articles/aks/virtual-nodes-cli.md
Service: container-service
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@samssann
Thanks for your feedback! We will investigate and update as appropriate.

@samssann
Could you please follow the below link for your reference.
https://learn.microsoft.com/en-us/azure/aks/node-image-upgrade
if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

@samssann
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


Rendering channel specific rich responses

Facebook channel has it's own set of rich responses like Generic template, Media template etc. These cannot be rendered using the templates we have in LG. Currently I'm able to render media template using the format of the Animation card in the following way. Is this the right way to do this.

If not could you please specify a way by which we can render channel specific rich responses using LG files

And what is the mapping of the existing templates in LG to the Facebook templates? (eg: we are able to render Generic template for Facebook channel using template of Hero card)

@Danieladu In my understanding, LG renders the correct json such as HeroCard, Adaptive Card etc. And botbuilder will handle the rest thing, such as transferring the data between different channels, is this right? So could you please confirm this?