Dates coming from read_sql are not cast to the right types

Steps to reproduce
Hi,
My data is loaded using atoti.read_sql:
consumption = session.read_sql(
    "jdbc:sqlserver://localhost:1433;databaseName=atoti",
    "SELECT CAST([Datetime] AS date) as ReportDate, * FROM [atoti].[atoti].[consumption];",
    username="atoti",
    password="atoti1",
    store_name="consumption",
    keys=["ZoneCode", "Year", "Month", "Day", "Hour", "WeekOfYear"],
#     types={"ReportDate": tt.type.LOCAL_DATE}
)

I need to use date_diff to get the value of the previous day.
m["Previous"] = tt.date_shift(m["Consumption.SUM"], on=h["ReportDate"], offset="1D")
I encountered the below exception:

Environment

atoti: 0.5.2
Python: 3.9.1
Operating System: win32

Logs (if relevant)

Caused by: java.lang.ClassCastException: class java.sql.Date cannot be cast to class java.time.LocalDate (java.sql.Date is in module java.sql of loader 'platform'; java.time.LocalDate is in module java.base of loader 'bootstrap')
	at com.activeviam.copper.hierarchy.CopperLevelIdentifier.lambda$at$3e3dfbfa$1(CopperLevelIdentifier.java:156) ~[activepivot-copper2-impl-5.10.0-20210209.jar!/:na]
	at com.activeviam.copper.pivot.pp.ShiftPostProcessor$ShiftEvaluationProcedure.shiftLocation(ShiftPostProcessor.java:723) ~[activepivot-copper2-impl-5.10.0-20210209.jar!/:na]
	at com.quartetfs.biz.pivot.postprocessing.impl.ALocationShiftPostProcessor$EvaluationProcedure.execute(ALocationShiftPostProcessor.java:309) ~[activepivot-ext-5.10.0-20210209.jar!/:na]
	at com.quartetfs.biz.pivot.cellset.impl.PointListRetrievalResult.forEachPoint(PointListRetrievalResult.java:936) ~[activepivot-impl-5.10.0-20210209.jar!/:na]
	at com.quartetfs.biz.pivot.postprocessing.impl.ALocationShiftPostProcessor.compute(ALocationShiftPostProcessor.java:146) ~[activepivot-ext-5.10.0-20210209.jar!/:na]
	at com.quartetfs.biz.pivot.query.aggregates.plan.impl.PostProcessedAggregatesRetrieval.evaluate(PostProcessedAggregatesRetrieval.java:174) ~[activepivot-impl-5.10.0-20210209.jar!/:na]

Common issus seen in CS, we usually use a column calculator to manually cast to a LocalDate

I assume that the issue is there:
https://github.com/activeviam/atoti/blob/f193a6a28fdd3e36772690254532abede56b34a8/java/patachou/core/src/main/java/io/atoti/pivot/measure/impl/AtotiDateShiftMeasure.java#L69
It'd indeed be better to have LocalDate/LocalDateTime instead of plain old Date Object though.

From what I remember, there is something strange whereby you load a Date field from a database and although you specifically set the type in your datastore to be of LocalDate, what is actually stored is a java.sql.Date - perhaps that's what is in the dictionary. I never got to the bottom of this issue.
This makes any code like you posted @rcolle fail because you are trying to cast it. There are several APS tickets around this, perhaps if we have an environment whereby it can be reliable introduced then it can be investigated more.

Hi guys, I have a similar issue.
My store is created like this :
    "jdbc:sqlserver://LISA-PC;databaseName=MonitoringDB",
    "SELECT [tagName] AS ID_compteur, YEAR(ts) AS Annee, DATENAME(month,ts) AS Mois, DAY(ts) AS Jour, FORMAT(ts, 'yyyy-MM-dd') as Date, [tagValue] AS valeur_compteur FROM [MonitoringDB].[dbo].[compteurs];",
    username="lisaW",
    password="qDa2021",
    store_name="compteurs",
    keys=["ID_compteur", "Date"],
    types={"ID_compteur":tt.type.STRING, "valeur_compteur": tt.type.DOUBLE},
)```

when I create my measure with date_shift using the method="exact" the creation is successful but there is the classcastexecption when visualizing it like Huifang explained.

Besides, when using other methods like "previous "or "interpolate" I get this error when trying to visualize the measure:

![image](https://user-images.githubusercontent.com/82163268/114044647-afa89500-9887-11eb-8192-0e7d09fa59c6.png)

Any idea how we could get these measures to work ?
Is there a way to cast Date to localdate directly in theSQL query ?

Thanks

We'll try to take a look at that before the upcoming release.

Any update on this issue. Even when I load my store from a csv I have an issue when the method of the date_shift is other than previous but the behavior I'm looking for is the "exact" one.

Hi, I have a look at it, can you share a small example with a sample csv or a pandas dataframe ? It will help a lot to reproduce your issue.

ClassCastException will be fixed in the next release

if it can be fixed for csv parsing and sql parsing that would be great 💯

@LisaWolffhugel what is the exact exception with csv ?

@bloussou Same exception as @HuifangYeo mentioned in her 1st comment. If I load a csv and use "previous" everything works well if I use "exact" I  have the exception Huifang is mentioning about .

@LisaWolffhugel it is not possible to have java.sql.Date with csv file. Can you share your exact issue in order to fix it ?

hi @bloussou here is the exception that I have:
 it is a java.time.LocalDate exception. I'm reading a csv file and I used this :
store_compteurs = session.read_csv("./data/V3/compteurs.csv",
                                       store_name="compteurs",
                                       keys=["ID_compteur", "Date"],
                                       types={"ID_compteur":tt.type.STRING, "Date": tt.type.LOCAL_DATE_TIME, "valeur_compteur": tt.type.DOUBLE})

cube_measures["Valeur_precedente_compteur"] = tt.where(
    cube_levels["Type_intervalle"] == "Jour",
           tt.date_shift(
                cube_measures["Valeur_compteur"],
                on=cube_hierarchies["Date"],
                offset="-1D",
                method="exact"
           )  ,
            tt.date_shift(
                cube_measures["Valeur_compteur"],
                on=cube_hierarchies["Date"],
                offset="-1W",
                method="exact"
            )
)

you can find the data here : https://github.com/LisaWolffhugel/emgt-nrj-monitoring/blob/master/data/V3/compteurs.csv
hope this will help

Thanks for the example, do you reproduce with 0.5.3 which has just been released this morning ?

I will try and let you know

Hi guys, it seems everything works well on sql and csv with the version 0.5.3 . Thanks


Build script for Windows

package.json:
rm -rf command replaced with rimraf

handled in other PR already


Removed unused import and updated the path.

Thanks for contributing a pull request! Please make sure you have read the
contribution guidelines
before submitting.
Please be aware that we are a loose team of volunteers so patience is
necessary. Assistance handling other issues is very welcome. We value
all user contributions, no matter how minor they are. If we are slow to
review, either the pull request needs some benchmarking, tinkering,
convincing, etc. or more likely the reviewers are simply busy. In either
case, we ask for your understanding during the review process.
Again, thanks for contributing!
Reference issue
closes #10835
What does this implement/fix?
Explain your changes.
Removed Unused Import 'op'
Additional information
Any additional information you think is important.
The parenthesis is required for the 'read_raw_fif' import.

Hi @drammock I've made the changes in the same PR here.

@architsinghal-mriirs it seems you have a rebase problem, there are commits / changes in this PR that shouldn't be there (the changes to test_search_light).  Assuming that you've called the mne-tools repository "upstream", can you do
git switch rebase/updatepath  # if you're not already on that branch
git fetch upstream
git rebase upstream/main
git push -f

That should hopefully clean things up here.

I apologize for the trouble @drammock , I'm still a student and learning. Could you please check if this is fixed now ?

thx @architsinghal-mriirs


Make GetTextureForCharacter virtual

It will give a better access to make some text skinnable using a texture.
For example : https://github.com/Dragicafit/osu/pull/2/commits/0993b83cdb7b3cec95a607c5cb5fe7f9e5b523cc will make hitcircle number skinnable.

Did you attempt using a store?

Yes, I tried to use a store but I didn't really understand how [Resolved] works.
And when I create a glyphStore with a png from the skin location, I don't know how to deal with BitmapFont.LoadText(Stream fntFile).


iOS Build error

Mac OS builds and runs GREAT but am hitting the following error when building for iOS
`ERROR: /private/var/tmp/_bazel_chriserror/36b103559a3268a9015c739baf5aa303/external/com_google_mediapipe/mediapipe/modules/objectron/calculators/BUILD:181:11: C++ compilation of rule '@com_google_mediapipe//mediapipe/modules/objectron/calculators:box' failed (Exit 1) wrapped_clang failed: error executing command external/local_config_cc/wrapped_clang '-D_FORTIFY_SOURCE=1' -fstack-protector -fcolor-diagnostics -Wall -Wthread-safety -Wself-assign -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG ... (remaining 65 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/com_google_mediapipe/mediapipe/modules/objectron/calculators/model.cc:15:
external/com_google_mediapipe/mediapipe/modules/objectron/calculators/model.h:36:11: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on iOS 11 or newer
`

I just fixed it :)
ios_framework(     name = "MediaPipeUnity",     bundle_id = "YOUR_BUNDLE_ID_HERE.MediaPipeUnity",     families = [         "iphone",         "ipad",     ],     infoplists = ["Info.plist"],     minimum_os_version = "11.0",     deps = [         ":mediapipe_c_ios",     ],     visibility = ["//visibility:public"], )
updated min iOS to 11.0


Coverity - small fixes

Two things spotted by coverity

Complaining about usage after free
Not check a return a function's return

Ack

merged, thanks


E   ValueError: Invalid shape in axis 0: 0.

<stringsource>:161: ValueError

To be fair I was also passing the wrong number of dimensions in my query ROI. We should probably check for that as well.

Yes, agreed.
I also concluded that query_in_roi as it is should not exist ;) It is the wrong level of abstraction.
It will be replaced with query_{nodes,edges}_in_roi. The intended behavior of query_in_roi can be realized with query_nodes_in_roi followed by {in_,out_,}edges_by_nodes or query_edges_in_roi, whichever is desired (all incoming edges, all outgoing edges, all incident edges, or in the latter case all contained edges).


Vault - Support default TTLs

Vault's KV2 engine does not return the lease_duration TTL value
that is provided by the original KV1 engine. When this value is 0
or missing it effectively disables the caching support of the
VaultSecretProvider.
This commit adds support for configuring an optional default TTL to apply
when the lease_duration value is 0.
To maintain backwards compatibility the default value remains 0.
Fixes https://github.com/lensesio/secret-provider/issues/4
Ref: https://github.com/hashicorp/vault/issues/6274

@kppullin Some similar functionality has been implemented in #47 .  We have added the flag secret.default.ttl.  Sorry to not have taken your contribution, this was part of a package of other changes and wider refactoring.
Do you want to check this and see if it fit your requirements, and if so close this one off?


TryParse on empty color string now returns null

Moved exception into Parse in the case of a string greater than 1 character ("#")

I am not sure I agree with this modification. Typically in C#, a Parse method will be used when you expect the parsing to be successful (and want an exception to be thrown if it fails since that is an unexpected outcome).
TryParse is used when you would like to attempt to parse a string into some kind of structure, and get a bool result of its success.
To be in line with typical C# conventions, I think we should stick to the current implementation of letting Parse throw an exception and have TryParse be exception-less.
Perhaps we are trying to solve a different problem here? Is there some kind of parsing error regarding colors that you are attempting to solve? Perhaps one that is expected to be present when there is none?

Basically, there are scenarios where Tiled will output a color property with an empty string. Like if you make an object, and just add a new Color property to it, but leave it unset, the tmx will save with that property as an empty string. If the color property is part of a custom type however, the tmx won't add the property at all if it is unset. So I think it makes sense to allow the color value to be null, or perhaps an Optional. My fix keeps the exception in the case that the string is greater than one character, but returns null (or default) in the case that the string is one character, since it recurses with "#" added in any case. The difference between Parse and TryParse is a bit arbitrary to me, though, so however it's implemented is fine with me.

I believe I understand the issue you are describing, and I have made a draft PR #63 with a proposed solution. If you have time, could you check if the proposed solution works for the case you are describing? Or if you can review the solution in a way to check that it would work.

Yep, that works fine!

Great, then I'll close this PR as duplicate :)


Update rust bindings to support YAML ref tests

This LGTM but it's still in draft mode.

This LGTM but it's still in draft mode.

Cool, I'll merge this one to get the ball rolling.


JsonSerializer.writer is private

When trying to customize the date formatting of the JsonSerializer, the objectMapper is protected, but the ObjectWriter is private.  Since the writer is initialized only through constructor, and certain customizations to the ObjectMapper won't magically propagate, I had to provide much more code than is probably necessary for this use-case.
Instead of:
public class CustomJsonSerializer<T> extends JsonSerializer<T> {

  private ObjectWriter myWriter;

  /**
   * constructor for custom json serializer. configure the ObjectMapper using the
   * KafkaSerdeObjectMapperConfig function.
   */
  public CustomJsonSerializer() {
    super();
    log.debug("Configuring Kafka object mapper [{}]", this.objectMapper);
    // Use our standard configuration bean to configure the Kafka serializer
    KafkaSerdeObjectMapperConfig configurer = new KafkaSerdeObjectMapperConfig();
    configurer.configureObjectMapper(objectMapper);
    myWriter = objectMapper.writerFor((JavaType) null);
  }

  @Override
  @Nullable
  public byte[] serialize(String topic, @Nullable T data) {
    if (data == null) {
      return null;
    }
    try {
      return this.myWriter.writeValueAsBytes(data);
    } catch (IOException ex) {
      throw new SerializationException(
          "Can't serialize data [" + data + "] for topic [" + topic + "]", ex);
    }
  }

}

I'd rather see something like:
class JsonSerializer<T> implements Serializer<T> {
  // ...

  public JsonSerializer(JavaType targetType, ObjectMapper objectMapper) {
    Assert.notNull(objectMapper, "'objectMapper' must not be null.");
    this.objectMapper = customizeObjectMapper(objectMapper);
    this.writer = this.objectMapper.writerFor(targetType);
  }

  public ObjectMapper customizeObjectMapper(ObjectMapper mapper) {
    return mapper;
  }

  //..
}

which would allow me to:
public class CustomJsonSerializer<T> extends JsonSerializer<T> {

  /**
   * constructor for custom json serializer.
   */
  public CustomJsonSerializer() {
    super();
  }

  @Override
  ObjectMapper customizeObjectMapper(ObjectMapper mapper) {
    log.debug("Configuring Kafka object mapper [{}]", this.objectMapper);
    mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    return mapper;
  }

}

Setting  value-serializer: com.example.CustomJsonSerializer in the application.yml file is then sufficient to rely on spring-boot property configuration to customize the serialization without having to write a bunch of custom kafka factory code.

Replaced by https://github.com/spring-projects/spring-kafka/issues/1784


DEBUG_CONNECTOR - wrong connection P0.21/RESET - 6 and P0.18/SWO - 10 ??

Hi. i would like to know if the connection between P0.21/RESET - 6 and P0.18/SWO - 10  are correct.
I checked this document (PCA10040_Schematic_And_PCB.pdf) and they say that:
P0.21/RESET - 10 and P0.18/SWO - 6
There is the http://infocenter.arm.com/help/topic/com.arm.doc.faqs/attached/13634/cortex_debug_connectors.pdf
from ARM that say the same thing.
Tks

You are correct, P0.21 should be connected to 10 and P0.18 to 6.
However you will still be able to debug as it is only SWDIO and SWDCLK wich are used during debugging. If reset is not present it will do a soft reset.
Thank you, it should be correct now.


all: occasional "resource temporarily unavailable" flakes on linux-s390x builder

It's not clear to me whether this is related to CL 177599 and #32205.
From https://build.golang.org/log/8842ba4fe354ba0d2a48ea5918280b3a2a202dcb:
##### ../misc/cgo/errors
removing /data/golang/workdir/tmp/TestPointerChecks471752625
--- FAIL: TestPointerChecks (0.98s)
    --- FAIL: TestPointerChecks/exportok (0.00s)
        ptr_test.go:596:
        ptr_test.go:597: failed unexpectedly: fork/exec /data/golang/workdir/tmp/TestPointerChecks471752625/src/ptrtest/ptrtest.exe: resource temporarily unavailable
FAIL

CC @ianlancetaylor @rsc

Here's a seemingly-related failure in the runtime test on the same builder:
--- FAIL: TestPanicTraceback (0.00s)
    crash_test.go:67: starting testprog PanicTraceback: fork/exec /data/golang/workdir/tmp/go-build726730629/testprog.exe: resource temporarily unavailable
FAIL

(https://build.golang.org/log/e518ab1802ac73754f4f3a51d7fb3cba86868b4e)
So perhaps it's not specific to the misc/cgo/errors test.

CC @mundaym

I haven't seen misc/cgo/errors flake again, but this still occurs sporadically in other tests:
https://build.golang.org/log/75ddd2b8e6749643c9150bf8846ed69f5afdcddf
https://build.golang.org/log/7028d294ba985b9bd6e5cb2024af1fa2a07f7b37
https://build.golang.org/log/2cc3638b3235b7a7b63a474df5991ec468dc404d
I think this may need a deeper fix in our fork/exec wrapper.

I've done a bit of digging (systemd isn't something I'm very familiar with) and I think this might be due to the default systemd TasksMax setting in SLES 12. It is only 512 threads which includes stage0 and the buildlet and everything they spawn...
I don't know if the fork/exec wrapper can do much if it hits a limit like this, I don't think retrying will necessarily solve the situation.
I've added the following lines to the buildlet service:
TasksMax=65536
LimitNOFILE=65536
LimitNPROC=65536

Hopefully this will make the s390x builder less flaky in future...

Does anyone know if there is a way to check the current cgroup's resource limits? Maybe we can get the buildlet to print some of them.

@bradfitz and @dmitshur: any thoughts on the systemd task settings we should be using for buildlets?

any thoughts on the systemd task settings we should be using for buildlets?

For Go stuff I've always just used the defaults. But maybe the defaults have changed or your distro has lower limits or s390x ends up creating more threads for some reason?

Does anyone know if there is a way to check the current cgroup's resource limits? Maybe we can get the buildlet to print some of them.

I don't. But that's a good idea.

But maybe the defaults have changed or your distro has lower limits or s390x ends up creating more threads for some reason?

I think it's a distro defaults thing. Ubuntu 18.04 defaults to 4915 tasks which is a lot more headroom.


The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 0

the extension do not work ad show message: Exception <class 'RuntimeError'>
the message displayed in console:
The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 0

do you have the dreambooth extension also installled?

I get the same error. I do have the Dreambooth installed, but it is inactive. What are you thinking is causing the issue with Dreambooth?

I get the same error. I do have the Dreambooth installed, but it is inactive. What are you thinking is causing the issue with Dreambooth?

same here :( dreambooth removed but torch2 and cuda 118

same error here. no dreambooth

Same error here since I update torch, rem-bg and blip-ci

revert to the previous commit, which uses clip-interrogator 0.6.0


[Bug]: Slack Reader Fails when exception different from Ratelimiting is raised

Bug Description
Inside que slack reader (this code) there is a while loop to get messages content. Reading one of my channels raised an exception different from ratelimit (eg.: thread_not_found - see this docs) and the slackreader entered inside an infinite loop, because the while loop continues to execute the same code.
My decision to propose this change is because I think it is more importante to continue reading other messages without the ones that raised one exception. The pitfall here is losing content from the messages that raised the exception.


Dashboard "No data points" unless specific pod selected

Greetings,
Having a problem with the AppMetrics dashboard. Basically, I can view the metrics only if I select a specific application pod under the server variable. Otherwise, every pane displays No data points otherwise.
=> If I select only one pod under server, it works.
=> If I select All under server, it doesn't work.
=> If I select 2 or more pods under server, it doesn't work.
Here's a quick GIF showing the problem.

I also found some variable errors other than this. I would be happy to open a PR fixing the dashboard, but I would just need some assistance with this part. I'm using:
=> Grafana 5.3.2
=> Prometheus 2.4.3

Looks like it was something simple. I found out on the StackOverflow article here: https://stackoverflow.com/questions/53013641/prometheus-or-when-using-rate. I'll open a PR.

Encountered same problem. Used same solution without knowing about this issue. Voting for proposed fix

Good day, @alhardy, how about switching = to =~ in server filter to fix this issue?


Fix nil resource usage error on node show cmd

When node just joins grid and has not yet reported any resource usages CLI fails node show command with nasty [error] NoMethodError : undefined method '[]' for nil:NilClass
Backtrace:
/Users/jussi/code/kontena/cli/lib/kontena/cli/nodes/show_command.rb:47:in `execute': undefined method `[]' for nil:NilClass (NoMethodError)
	from /Users/jussi/code/kontena/cli/lib/kontena/command.rb:202:in `run'
	from /Users/jussi/.rvm/gems/ruby-2.3.3/gems/clamp-1.1.2/lib/clamp/subcommand/execution.rb:11:in `execute'
	from /Users/jussi/code/kontena/cli/lib/kontena/command.rb:202:in `run'
	from /Users/jussi/.rvm/gems/ruby-2.3.3/gems/clamp-1.1.2/lib/clamp/subcommand/execution.rb:11:in `execute'
	from /Users/jussi/code/kontena/cli/lib/kontena/command.rb:202:in `run'
	from /Users/jussi/.rvm/gems/ruby-2.3.3/gems/clamp-1.1.2/lib/clamp/command.rb:132:in `run'
	from ./bin/kontena:18:in `<main>'

Fixed by using dig rather than chained [] calls

(That whole puts mess could have been avoided by building a hash and YAML.dumping it since the output is practically valid YAML as is anyway)


Question about HTTP/2 response from Apple

Hi, guys.
Could you please clarify one case?
Apple documentation here states the following
In the certificate-based trust scheme, there is
1) no per-push validation performed, and
2) no HTTP/2 response available to you for each notification push request.

But if this is true, I don't understand how we get PushNotificationResponse with rejectionReason in pushy.
Is the apple documentation wrong? Or we do not use certificate-based trust scheme?
Thanks for your time

Hello!
This sounds more like a request for general support than it does like a bug report or a feature request. We generally ask people to move these kinds of questions to the Pushy mailing list because:

The mailing list has a wider audience, and you're more likely to find somebody who has experience with your particular circumstances on the mailing list.
Posting your question to the mailing list can help other people who are having the same problem.
Because there isn't a bug to fix or a feature to add, we can't reasonably solve your problem by making any kind of engineering change.

I emphasize that we'd be happy to help, but let's move this conversation to a different venue.
That said, we definitely still get HTTP/2 responses in "certificate mode." I suspect that's just poor wording on their part (maybe intended to mean that we don't get per-notification HTTP/2 responses about authentication).


Support for Python 3.7

Fixes incompatibilities with Python 3.7 related to re.Pattern and PEP 479.

The tests pass on my local machine, but are failing on Travis (for all versions of Python):
$ psql -c 'create database blitzdb_test;' -U postgres
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
The command "psql -c 'create database blitzdb_test;' -U postgres" failed and exited with 2 during

The build still seems to be broken, but not, I believe, due to any changes that I made.
Is anyone available to review this PR?

Total shot in the dark, but possible we need to add:
services:
  - postgresql

To our Travis config. Alternatively, it looks like the Postgres APT that Travis pulls from claims to no longer support Postgres 9.3, although it looks like the last built package for 9.3 is still available.

Hi @cjgibson, thanks for this MR and sorry that it takes a while to review it!

Thanks to @epatters as well :)


Offset modifier function gets alternating flipped, placement and offset values when popper is flipped

CodePen demo
https://codepen.io/enekesabel/pen/LrbgWp
Steps to reproduce the problem

Open the dev console to check logs
Scroll up to make the popper flip
Keep scrolling up to log more data

What is the expected behavior?
The popper's placement is bottom, so when the itis on the top (flipped) I'd expect the following values to be logged constantly:

flipped: true
placement: top
offset: 300

What went wrong?
When the popper is flipped, the modifier gets the following values on following updates:
First time:

flipped: false
placement: bottom
offset: 500

Second time

flipped: true
placement: top
offset: 300

Your custom modifier is running before the flip modifier, that's why you see this behavior. You can change that by defining the order property to a value higher than the one assigned to flip.
Sorry for the 1 year delay 🤦♂


Add CI pipeline for Azure Functions project

Purpose
For keeping high quality code, I want to automate lint, test and build with pipeline
Does this introduce a breaking change?

[ ] Yes
[x] No

Author pre-publish checklist:

[ ] Added test to prove my fix is effective or new feature works
[x] No PII in logs
[ ] Made corresponding changes to the documentation

Add screen shot for validation

Add screen shot for validation


Active Key Changes When Viewing Different Key

In Key Management: if you click to view a key it becomes the active account. This should not happen - viewing should be orthogonal to setting active key.

This is now a duplicate of #119 - which has more activity so I am closing this.


Integration Test - Release - 2020/08/12 01:15:12

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#reassign PRMergerTest2

GitHub user PRMergerTest2 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#reassign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#please-close


feat: added snapshot_list and single view UI

Added Snapshot UI List Page
Added Single Snapshot Page

Target the main branch pleasse


Is it possible to improve PVB/PVR lookup with labels?

While debugging a time out issue, I had to parse the velero pod logs to finally
get to the bottom of a stuck migration:
# oc logs velero-7478d86474-tzxr4 | grep e26a19a0-d104-11ea-a7c7-a386498433aa-rw2w6 | grep error
time="2020-07-28T20:03:28Z" level=error msg="unable to successfully complete restic restores of pod's volumes" error="timed out waiting for all PodVolumeRestores to complete" logSource="pkg/restore/restore.go:1287" restore=openshift-migration/e26a19a0-d104-11ea-a7c7-a386498433aa-rw2w6

Here we finally see the root issue for the Restore failure: velero time out
waiting for the PodVolumeRestore to report completion.
In order to get the pod volume restore, you need to know the name of the Restore
resource, which is used as a prefix for generateName [5]. Grepping for that
gives me the full name of the relevant PVR:
This is not a good debug experience. We should explore if it's possible to label
PVR/PVB resources with the related MigMigration and MigPlan objects that
ultimately spawned them. These should be by name and not uid as has been
used on Backup and Restore objects.

@sseago @dymurray would like your thoughts on this guy.


Added .ropeproject directory

Anybody using python could be using the rope refactoring library, so the output directory is missing from this file.

.ropeproject will be automatically created when using vim editor bundled with python-mode, with is a pretty annoying thing.

Thanks! And this is a bit of the introduction to what this folder contains: https://github.com/python-rope/rope/blob/master/docs/overview.rst#ropeproject-folder


logo design

Summary
To move to the org, I'd like to have a logo. I will do something. In the case you have an idea, please let me know!
Steps to reproduce behavior
Visit https://github.com/depjs
Expected behavior

Actual behavior
No logo!

Spec: https://github.com/terinjokes/StickerConstructorSpec

Hey! What do you think of it? Just some ideas.

@kuzminadya Heyyy great works! They look so kewl. Particularly, the third one can be easy to be realised what it's written :) Could we use a different colour for the background, like orange?

Thank you! I've changed the last one a little bit.

@kuzminadya Heyyy that's perfect for me <3
I just created a repository for artwork✨. Let me invite you to the org!

https://github.com/depjs/artwork/pull/2
🎉


Merge with upstream

This patch pulls in the latest changes from upstream. In particular, the latest release of wasm-tools, which includes the upstreamed stack-switching feature.
@frank-emrich, I think after merging this patch, that binaryen will be broken, as it is currently using the old binary format.

Interesting.. I cannot observe the failure:
Running `target/debug/wasmtime wast -W=exceptions,function-references,stack-switching tests/misc_testsuite/stack-switching/cont_twice.wast`
Error: failed to run script file 'tests/misc_testsuite/stack-switching/cont_twice.wast'

Caused by:
    0: failed directive on tests/misc_testsuite/stack-switching/cont_twice.wast:15:1
    1: expected 'continuation already consumed', got 'error while executing at wasm backtrace:
           0:   0x46 - <unknown>!<wasm function 1>

       Caused by:
           wasm trap: triggered debug assertion'

On my machine. The trap encoding has been revamped such that trap codes are byte encoded. There is probably some machine-specific bug here, which manifests on the CI machine.

Interesting.. I cannot observe the failure on my own machine:
Running `target/debug/wasmtime wast -W=exceptions,function-references,stack-switching tests/misc_testsuite/stack-switching/cont_twice.wast`
Error: failed to run script file 'tests/misc_testsuite/stack-switching/cont_twice.wast'

Caused by:
    0: failed directive on tests/misc_testsuite/stack-switching/cont_twice.wast:15:1
    1: expected 'continuation already consumed', got 'error while executing at wasm backtrace:
           0:   0x46 - <unknown>!<wasm function 1>

       Caused by:
           wasm trap: triggered debug assertion'

On my machine. The trap encoding has been revamped such that trap codes are byte encoded. There is probably some machine-specific bug here, which manifests on the CI machine.

I think I understand it now. The test is supposed to fail, but the CI expects it to fail with code 132. After the revamp of the trap encoding, it seems the new exit code is 1.

@frank-emrich I think I will redo this merge, as the whole fiber interface has changed. There are a few intricacies...

I would appreciate that, I'm concerned that too many changes will get lost in, say, the noise from some files also being moved. May I recommend the following, if it's not too much work:

Merge everything up to and including ec3b2d2 (i.e., the last commit before Alex updated wasm-tools) in one PR. This should hopefully be simple.
Afterwards, merge with 6844ed1 (i.e., the commit where Alex update wasm-tools) separately? This would involve all the work to use the upstream wasm-tools stack switching stuff.

Then after these two steps we can at some point merge with the actual upstream main.

Parts of the FiberStack has to be reengineered or the pooling allocator, which to me seems like a significant change.

Sadly it is not possible to split the PR :-( because of the trap encoding. To pass the testsuite I need the much later commit on encoding traps as a byte, because the a prior commit steals one of our encodings. There are 17 traps, but only 16 possible encodings...


M08 build test data

Description
This PR adds data to the following models:
accounts app:

CustomUser

hackathon app

Hackathon
HackTeam
HackProject
HackProjectScoreCategory

Pull request type
M08 build test data

[X] #M01 (Miscellaneous User Story #01)
[ ] #P02 (Participant User Story #02)
[ ] #S03 (Staff User Story #03)
[ ] #A04 (Admin User Story #04)
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Related Issue

Configuration instructions
profiles.json contains 20 users as per the screen shots below
score_categories.json contains the 5 Score Categories we use,
hackathon#1.json contains the events, projects, teams and the score categories as well
Testing

Screenshots
Added 1 superuser on top of the existing admin

4 other staff, with no superuser status

14 participants:

Project Score Categories:

Projects (both belong to the same event):

Teams (belonging to two events):

and four events:

Additional Information

Does this introduce a breaking change

[ ] Yes
[X] No

All done, also removed the organisation part from my profiles fixture as it is done by organisation.json
score categories are also part of the hackathons.json, so I haven't included score_categories.json in the scripts, but can be useful to just load them separately.


language object is not reactive

I have a multi language app. So the user can switch the language, which updates the locale in the store.
Then the language object is getting redefined via computed.
computed: {
     dropzone() {
        return {
            language: {
                dictDefaultMessage: translate('company.logoDropzoneDefaultMessage'),
                dictFallbackMessage: translate('dropzone.fallbackMessage'),
                dictFallbackMessage: translate('dropzone.fallbackText'),
                dictFallbackMessage: translate('dropzone.fileTooBig'),
                dictFallbackMessage: translate('dropzone.invalidFileType'),
                dictFallbackMessage: translate('dropzone.responseError'),
                dictCancelUpload: "✕",
                dictFallbackMessage: translate('dropzone.cancelUploadConfirmation'),
                dictRemoveFile: "✕",
                dictFallbackMessage: translate('dropzone.maxFilesExceeded'),
            }
        }
    },
}

Expected behaviour:
The translated content shows up in the dropzone view
Actual behaviour:
In the Vue-Dev-Tools I can see the changes but the dropzone view is not getting rerendered.

@Artem-Schander I need some more details. Set ref attribute on your component to myVueDropzone or ignore if you already have. Print the language after mounting the component as  console.log(this.$refs.myVueDropzone.options.language). Provide me output and verify your message is being translated.

there is no options in the this.$refs.myVueDropzone object ..

@Artem-Schander Thanks for detailed gif. It seems that message is not changing/rendering . We will look into it!

Hi @Artem-Schander
Unfortunately you are correct the message is not reactive, this is an upstream issue with dropzone. I'd suggest using regular javascript to target the class .dz-message and changing it manually. I'm closing the issue but if you need further assistance with this let us know.

@Fusseldieb
I have no idea which page you visited. The project you see in the gif is a Web-To-Print tool and it's only accessible for the staff. See https://wtp.polytex.gmbh/


Public config? Publishable server configurations? (Add example Matrix public homeserver config?)

Link to problem area:
Server config (https://spec.matrix.org/v1.1/server-server-api/#security-considerations?)
Issue
Visibility/sharing of server configuration settings
In wp-config.php for WordPress, it is a common security vulnerability/concern that users keep that data in their public_html folder, which risks sharing sensitive information.
Is the main/primary concern for Matrix.org servers the same as WordPress, which is to say not sharing credentials/password fields is the "only" attack vector?
Should there be clear instructions/warnings about what config file(s) disclosures are safe?

I don't think this is a spec issue.
The synapse homeserver.yaml typically contains secret keys, so it should be self-evident that publishing it is a bad idea.

@richvdh Migrate or make again at https://github.com/matrix-org/synapse?
WordPress users publish these files all the time...


Android Basics: Fragments Navigation component

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-fragments-navigation-component#5
In which task and step of the codelab can this issue be found?
7. Next, you implement onViewCreated().
Describe the problem
It says, "This is almost identical to configuring the recyclerView in onCreateView() in the DetailActivity."
It seems that the "onCreateView()" should be "onCreate()".
It says, "You have to do this in onCreateView() however, as there's no guarantee the activity exists earlier in the lifecycle."
It seems that the "onCreateView()" should be "onViewCreated()".
Steps to reproduce?
As stated above.
Versions
Not applicable.
Additional information
Nil.

@KKH-tw
Thank you so much for reporting this issue. This is fixed and will be published soon.


Security Information on the website looks outdated

:wave: I stumbled over https://libgit2.org/security/ today, and noticed that it hasn't been updated since the end of 2018.  However newer fixes such as https://github.com/libgit2/libgit2/pull/5331 don't seem to be listed on the website.
Is this still something worth keeping up to date?

Thanks a lot for your report! So my opinion is that outdated information is a lot worse than having no information at all, at least in most cases. As I'm not too fond of removing that website, I feel like the ideal case would be to have it auto-update with every release, similar to how we update our documentation automatically by now. The downside obviously is that somebody will have to code up the logic :/

Fixed via #121


Wrong name

"localhost" has nothing to do with this feature, which is a directory index.

Also as a feature-packed and mature alternative, here's h5ai: https://larsjung.de/h5ai/ and https://larsjung.de/h5ai/demo/

Right on spot here, @bfred-it. Localhost it's just the way I choose to name the project, but I've added some clarification on the README file, in case anyone was confused.
Also, that alternative you shared is amazing! Thanks :D

Hello again, @bfred-it. I add your suggestion on the README file. Thanks again ;)

:+1:


Shaka local build - MUX included for TS type HLS content - Unable to playback

Hello,
I am having trouble with playing HLS (TS) content in my local Shaka player , where I have the compiled Shaka player library and MUX.js referred .  Am I missing something ? Please advice .

You need to include the mux.js in the HTML before loading the Player.  This can be easily done using a <script> tag to load it.  Simply including it in a package manager doesn't work, you need to load the library on the browser.  For example, look at the demo sources.
Could you provide a URL to your application?  Or a zip of the sources?  You can send it privately to<EMAIL_ADDRESS>if you prefer.  What errors are you seeing?  How are you loading mux.js?  Does the manifest play on the hosted demo page?

@TheModMaker Thanks for your quick response , I have done exactly the same as you explained , but I am gonna try it once more and will be sending you and email . Thanks again .

@TheModMaker
Hey , I went down the path your recommended how we have it the hosted demo page and all the errors are gone now. I was able to get the playback fine on Chrome and Firefox , unfortunately I am still having trouble in safari , no exceptions in console , but really unable to pull down chunks.
I am still working on getting you a build or a URL for you to test it out.

@kchandran1029
We work with browsers through Media Source API which all the modern browsers (in theory) implement.
In practice, Safari has its' own implementation for transport stream support and Apple has not been very cooperative in fixing their Media Source implementation.
The problems in Safari are likely not your fault, but bugs in the browser.
We have a plan to use Safari's native support for HLS, you can track the progress here: https://github.com/google/shaka-player/issues/997

@kchandran1029, you may also want to try setting the 'streaming.jumpLargeGaps' config to true:
player.configure('streaming.jumpLargeGaps', true);

For some content, gaps that appear on one browser may not appear in another.  Perhaps your content manifests a gap on Safari, but not in Chrome or Firefox.  This is just a guess.

@ismena Thank you for your inputs , I agree with you it must be Safari acting weird.
@TheModMaker I have sent an email to the email id you mentioned above. Please take a look when you get a chance.
@joeyparrish  Thank you , i tried configuring with jumpeLargegaps, unfortunately that did't help me. Assuming it's the Safari being rigid.
Once again , thank you all.

Here's what I saw in Safari 11.0.3 today:

Following the instructions you sent privately, I am able to log in and start a channel.  The first frame shows, but the spinner stays up, and playback never begins.  Clicking the play button in the center of the screen does nothing.  If I use the debugger to save a reference to the player object, I find that player.isBuffering() returns false.
Digging around in the console, with the video element stored in the variable video, I find that video.currentTime is inside a buffered range, but video.paused is true.

If I click on the scrubber to seek, the video frame is updated to the new position, but I am unable to convince the video element to actually play anything.
I finally realized that my clicks on the "play" button were going to the spinner instead.  In the "Elements" tab in the inspector, I set the spinner to display: none.  Then I was able to click the play button, which made playback begin.

My conclusion is that autoplay restrictions in Safari are preventing playback from starting automatically.  Only a click event will trigger playback, but your spinner is layered over the top of the play button, which prevents it from receiving clicks.  Furthermore, your spinner is displayed in spite of the fact that player.isBuffering() returns false.
You could probably fix all of this if you listened to the player's buffering event, and used that to show/hide the spinner.  This would get the spinner out of the way of the play button when playback could begin, and allow the user to click the button.
Since this appears to be working from Shaka Player's point of view, I'm going to mark this issue "working as intended" and rename the issue to reflect that autoplay restrictions are the main culprit.
Does this help?

Here's what I saw in Safari 11.0.3 today:

Following the instructions you sent privately, I am able to log in and start a channel.  The first frame shows, but the spinner stays up, and playback never begins.  Clicking the play button in the center of the screen does nothing.  If I use the debugger to save a reference to the player object, I find that player.isBuffering() returns false.
Digging around in the console, with the video element stored in the variable video, I find that video.currentTime is inside a buffered range, but video.paused is true.

If I click on the scrubber to seek, the video frame is updated to the new position, but I am unable to convince the video element to actually play anything.
I finally realized that my clicks on the "play" button were going to the spinner instead.  In the "Elements" tab in the inspector, I set the spinner to display: none.  Then I was able to click the play button, which made playback begin.

My conclusion is that autoplay restrictions in Safari are preventing playback from starting automatically.  Only a click event will trigger playback, but your spinner is layered over the top of the play button, which prevents it from receiving clicks.  Furthermore, your spinner is displayed in spite of the fact that player.isBuffering() returns false.
You could probably fix all of this if you listened to the player's buffering event, and used that to show/hide the spinner.  This would get the spinner out of the way of the play button when playback could begin, and allow the user to click the button.
Since this appears to be working from Shaka Player's point of view, I'm going to mark this issue "working as intended" and rename the issue to reflect that autoplay restrictions are the main culprit.
Does this help?

@joeyparrish Thank you for taking your precious time to dig into this, that make sense. Let me give it a try with your suggestions . Thank you.
I was on vacation , hence couldn't reply promptly .

Does this answer all your questions?  Is there anything else we can help with?


gt4git

We should have a way to do basic git operations in gt.

basic git operations are now possible from gt

We can now do basic git operations in gt.


Video player enhancement

What about improving the video player with touch gestures.

Good Idea. 👍

@leonlatsch Thank you . Look at this video player for reference. https://github.com/moneytoo/Player


utf8 Chinese string as key cause strange behavior when using createReadStream

Hello, just reporting a strange behavior of createReadStream.
I'm using

iojs v1.3 and node v0.10.36
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
When using a Chinese string as a key and calling createReadStream, some of the key will not be logged.
The following is the test code:
var levelup = require('levelup');
var Sublevel = require('level-sublevel');

var db = Sublevel(levelup('./testDDB')).sublevel('test');

var ops =
[
	{
		type: 'put',
		key: '今天',
		value: 'today'
	},
	{
		type: 'put',
		key: '明天',
		value: 'tomorrow'
	},
	{
		type: 'put',
		key: '後天',
		value: 'the day after tomorrow'
	},
	// if a non-Chinese character prepend in front of the string,
	// the stream will work
	{
		type: 'put',
		key: 'a今天',
		value: 'today with an a in front'
	},
	{
		type: 'put',
		key: 'a明天',
		value: 'tomorrow with an a in front'
	},
	{
		type: 'put',
		key: 'a後天',
		value: 'the day after tomorrow with an a in front'
	}
];

db.batch(ops, function(err){
	if(err) console.log(err);
	else {
		// can't find key in stream
		// should log 6 values, but only three will be logged.
		db.createReadStream()
		.on('data', function(value){
			console.log(value.key);
		})
		.on('error', function(err) {
			console.log(err);
		});
	}
});

The expected output would be

a今天
a後天
a明天
今天
後天
明天

But the actual output is

a今天
a後天
a明天

The strange part is that, if a non-Chinese character prepend in front of the Chinese string key, it will log the stream, otherwise it won't.
Also, I also test the following code, which use only levelup, and the result is correct.
var levelup = require('levelup');
//var Sublevel = require('level-sublevel');

var db = levelup('./test1DDB');

var ops =
[
	{
		type: 'put',
		key: '今天',
		value: 'today'
	},
	{
		type: 'put',
		key: '明天',
		value: 'tomorrow'
	},
	{
		type: 'put',
		key: '後天',
		value: 'the day after tomorrow'
	},
	// if a non-Chinese character prepend in front of the string,
	// the stream will work
	{
		type: 'put',
		key: 'a今天',
		value: 'today with an a in front'
	},
	{
		type: 'put',
		key: 'a明天',
		value: 'tomorrow with an a in front'
	},
	{
		type: 'put',
		key: 'a後天',
		value: 'the day after tomorrow with an a in front'
	}
]

db.batch(ops, function(err){
	if(err) console.log(err);
	else {
		db.createReadStream()
		.on('data', function(value){
			console.log(value.key);
		});
	}
});

Any advice is helpful, thank you.

After looking at the code for a while, I found out that it is the following line that cause the problem.
https://github.com/dominictarr/level-sublevel/blob/master/codec/index.js#L19
exports.lowerBound = '\x00'
exports.upperBound = '\xff'

if changing the exports.upperBound = '\uffff', the result will be what it should be. But I'm not quite sure is it the right way to fix this problem. ;(

If I log the opts coming back from ltgt.toLtgt()
iterator opts { createIfMissing: true,
  errorIfExists: false,
  keyEncoding: 'utf8',
  valueEncoding: 'utf8',
  compression: true,
  db: { [Function] destroy: [Function], repair: [Function] },
  prefix: [ 'test' ],
  gte: '!test!\u0000',
  lte: '!test!ÿ' }

lte looks ok.
If I do a createReadStream() on the complete db with binary encoding the keys are:
<SlowBuffer 21 74 65 73 74 21 61 e4 bb 8a e5 a4 a9>
<SlowBuffer 21 74 65 73 74 21 61 e5 be 8c e5 a4 a9>
<SlowBuffer 21 74 65 73 74 21 61 e6 98 8e e5 a4 a9>
<SlowBuffer 21 74 65 73 74 21 e4 bb 8a e5 a4 a9>
<SlowBuffer 21 74 65 73 74 21 e5 be 8c e5 a4 a9>
<SlowBuffer 21 74 65 73 74 21 e6 98 8e e5 a4 a9>

I don't understand how e4, e5 etc can be lexicographically sorted after ff

@mike820324 I think you do have the correct solution there. The codec.upperBound is used only when constructing ranges, so this is not a breaking change.
@ralphtheninja here is the problem.
> new Buffer('\xff')
<Buffer c3 bf>
> new Buffer('\uffff')
<Buffer ef bf bf>

\xff is not actually encoded as 255. I realized this a while ago, which is why v6 does not use \xff in the prefixes,
and now it is fixed here.
@mike820324 thank you for your issue, you where very thorougher...
This is fixed in 6.4.6

:+1:

@dominictarr wow thanks for the quick fix and my pleasure to help. :+1:
It seems like the issue can be closed. :)

@dominictarr I'd like to know more of what's going on there. Have any pointers? Would like to read more on strings like '\xff' etc

@ralphtheninja sorry I can't really give you a better recommentation than to read the utf8 wikipedia page );


Request support for Bolívar Soverano (VES)

Since 2018, the official currency of Venezuela has been the sovereign bolivar (iso4217 code VES), surpassing the hard bolivar (VEF).

@Rhymond when can we expect a new release including these changes?


Add doesNotHaveToString assertion

Check List:

Fixes #2028
Unit tests : YES
Javadoc with a code example (on API only) : YES

Minor fixes for hasToString doc description and ShouldHaveToString error as well.

@joel-costigliola I addressed your comments. I also applied changes suggested for Objects_assertDoesNotHaveToString_Test to Objects_assertHasToString_Test. Let me know if I miss anything!

Integrated thanks for the good work @lykims!


@conda-forge-admin,please add bot automerge

@conda-forge-admin,please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/swift-sim-feedstock#3.


[Forkless SparseML Transformers] [Feature Branch] Setting Up The modification module

Summary
This pull request addresses the removal of the dependency on nm-transformers in favor of the original HF transformers. The primary motivation for this change is to simplify maintenance by eliminating the challenges associated with keeping a fork.
The scope of this PR was defined by running a diff between nm-transformers and transformers and identifying the elements that need to be included in sparseml to account for the differences.
For more details refer to the appropriate documentation in the internal docs repository.
Changes made:

adding a dependency on "transformers<4.37", removing the dependency on our fork
creating src/sparseml/transformers/sparsify/modification submodule, that is responsible for modifying the transformers models, as the fork did in the past
moving the appropriate scripts from sparseml.transformers.utils to sparseml.transformers.sparsification
updating the source code to support the new transformers version (e.g. accounting for renaming SiLUActivation to SiLU
adding exhaustive, new unit tests
fixed the issue of failing transformers test in GHA. Refactored and optimized the tests.

Manual Testing
Tested both Mistral and LlaMa on our end-to-end flows:

Sparsification (one shot + sparse fine-tuning + quantization)
Loading the sparsified model and inference
Export of the sparsified model

Tested a single BERT QA recipe:

Run the sparse fine-tuning
Export the model

Note manual testing asserts that the pathways are working. The testing did not check the correctness of the resulting models.
Relevant PRs:

[x] #2057
[x] #2047
[x] #2050
[x] #2051
[x] #2052
[x] #2054
[x] #2056
[x] #2088

Closing, this PR is replaced by #2199 and #2204


Implementation of BehaviorSafety and BehaviorRSSConformant models

BehaviorSafety
A model that is to be executed when e.g. the RSS has been violated.
It steers to the initial lane and brakes to a lower speed (almost zero).
BehaviorRSSConformant
Holds a nominal and safety behavior as well as an RSS evaluator.
In every time-step it is being checked whether the RSS has been violated. If yes, then the BehaviorSafety model is executed.
Additionally, the time of the violation is stored as member.
It also sets the initial LaneCorridor of the BehaviorSafety model
Testing
We assume the RSS evaluator to work properly and only perform a system level check.
Two times the vehicle performs a lane change, but one time the RSS is (fake) violated and the lane-change maneuver is aborted.

Assumption: The safety lane (corridor) is always the one that was active in the first simulation step -> ok atm, but not generic. In the next step we could reset the initial_lane_corr_ to the current lane corridor after a successful lane merge...


User data cleared after page refresh

After reloading the page, some properties disappear from the user object, I don't understand what could be the reason
i will show a json from vue dev-tools
i added 3:
articles - relation
avatar - media
fav_game - text
1: after user login on profile page
user:Object
  articles:Array[2]
  avatar:Object
  blocked:null
  confirmed:true
  created_at:"2021-02-03T13:58:32.000Z"
<EMAIL_ADDRESS>  fav_game:"World of Warcraft"
  id:1
  provider:"local"
  role:Object
  updated_at:"2021-02-05T04:32:06.000Z"
  username:"ERL"

2: after page reload
user:Object
  blocked:null
  confirmed:true
  created_at:"2021-02-03T13:58:32.000Z"
<EMAIL_ADDRESS>  fav_game:"World of Warcraft"
  id:1
  provider:"local"
  role:Object
  updated_at:"2021-02-05T04:32:06.000Z"
  username:"ERL"

On the strapi side, login and /users/me are two different routes which can send back different results.

but I'm using the method specified in the documentation, what should I use?
this.$strapi.user

Do you mind opening an issue to Strapi repo @NooBiToo ?
/login and /users/me shall return the same value ideally.

I don't mind

In the meantime, you can override the fetchAuthenticatedUser method in extensions/users-permissions/services/User.js to populate the relations you need:
module.exports = {
  fetchAuthenticatedUser(id) {
    return strapi.query('user', 'users-permissions').findOne({ id }, [
      ...
    ])
  }
}

thank you


Unable to build the Rust SDK (macOs)

Description
I wanted to test the Rust SDK despite it being flagged as not ready for production. Unfortunately I'm getting this error: failed to run custom build command for hedera-proto v0.7.0 when trying to build the project
The Rust version is 1.70.0, Swift 5.8.1 alongside latest version of task.
Any insights would be of massive help.
Steps to reproduce

import hedera crate (0.18.0) in the Cargo.toml file
cargo build

Additional context
No response
Hedera network
testnet
Version
v0.18.0
Operating system
macOS

Hi! It seems that the README is out of date on requirements.
Current build requirements are latest rust stable (which you have), and protoc which, given where the error happened, I don't think you have.
task is an alternative way to run cargo build effectively (and it's so that similar commands can be available in all SDKs) and is not a requirement to have the Hedera Rust SDK as a dependency.
Presumably you use homebrew given that you're on macOS, if that is the case https://formulae.brew.sh/formula/protobuf is likely what you're looking for.
I'll leave this open until:

You can confirm that installing protoc fixes the build error
I update the README to list current build requirements

Hey again!
You were spot on. It works perfectly, tried and tested.
Thanks for replying so quickly.
Godspeed


Can you please support for Firefox?

Can you please support for Firefox?

This method might work for other chrome extensions that Firefox doesn't have.

Download extension YCS on the chrome web store as a zip file
Extract the zip file to a folder
Install in Firefox click "Debug Add-ons" and then "Load Temporary Add-on…" choose extract folder extension

For this method, the YCS extension will work without an options page.


misspelling

Not a big deal, but practice is misspelled in the repo name

Good catch, I would have totally committed a bunch of stuff to this repo and not noticed haha.


will having two split methods cause confusion?

I fear we're just going to create a "splice" scenario where most people are going to just have to look at the documentation every time to figure out what it does now that there's more than one option.

Most uses of split I have found are for unbounded splits. For those, only String.prototype.split should be used as is being done now. The proposed String.prototype.splitn does not support skipping the n parameter, which thus enforces the use of split for unbounded splits.
As for confusion: maybe, but I don't anticipate much as the names are different. String.prototype.splitn should become the primary way to do n-count splitting.

As for confusion: maybe, but I don't anticipate much as the names are different.

I don't think the names being different really matters here. There will be 2 string splitting methods with pretty similar semantics. I fear people (including myself) won't be able to remember which method has which semantics.

String.prototype.splitn should become the primary way to do n-count splitting.

Why is that? I used the second parameter to String.prototype.split just a few days ago, and it worked fine. I was doing some simple parsing of a Unicode data file that used # as a line comment like this:
  propertyAliasesFile
    .split('\n')
    .map(line => line.split('#', 1)[0].trim())
    .filter(line => line.length > 0)

Was this bad for some reason?

Ah, that's actually helpful for me to better understand the motivation for this proposal. Still, I'm unsure whether the usefulness outweighs the risk of added confusion.

I think going for the {remainder: true} option would bypass this possible confusion; .split(..., 2, ...) would always work the same (return the first two split fragments), but might return a third item with the remainder if the flag is passed (effectively giving us Python's semantics; if we're going to still diverge from other langs, sticking with Python is better than most other options).

(fwiw, i don't like splitn being all lowercase, and would prefer splitN if that's the direction it's heading, a la reduceRight and forEach and many others)

I think going for the {remainder: true} option would bypass this possible confusion

Another benefit of this is that it bypasses the questions about regex-based splitting. The behavior remains "do exactly as you normally would", the flag just controls whether the remainder gets added as a final item to the array or thrown out.

At the matrix channel I suggested adopting a different name.
String.prototype.part or parts could be more helpful to differentiate them.
Another name I'm adding just for the bikeshed sake would be explode, being slightly connected to precedents from other languages.
I prefer a new name over expanding the split method.

I opened an issue about interpretation of the count arg and though I think the Python behavior is best regardless, a substantially different name like explode would mitigate some of the concerns there.

I fear we're just going to create a "splice" scenario where most people are going to just have to look at the documentation every time to figure out what it does now that there's more than one option.

@michaelficarra I don't think it's "splice" case.
The "splice" is bad because:

the name "splice" is very confused

Not sure about native speakers, but as who have bad English skill, I really don't know what "splice" meaning in English, I never use this word except writing code, so the name "splice" is just opaque to me.

the things "splice" actually do is really complex

I guess it's hard to have a good name for what "splice" really do, because the it do a complex work and unfortunately it doesn't follow slice, and also mix push.
Off-topic
Instead of a.splice(start, count, ...items) , it would be much better if we have
a.replaceItems(start, end, items) which start/end follow slice, and items could just an another array.
Or even have slice notation syntax for that: a[start:end] = items which will easy to understand and use.
/Off-topic

splitN(n, sep) never have the similar issues of splice:

the name is very clear what it tend to do, the only thing is what n mean. But as the things it tend to do, programmers always need to learn what n mean, and as the author of this proposal already tell us, almost all programming languages have the consensus of what n mean. So we just follow it and it could be the programmer's cross-language knowledge (just like people have to learn what NaN mean, and it's a cross-language knowledge).
What splitN() really do is not complex, I believe after use it one or two time, people could get it. Some may learn it fast, some may slow, but I am confident that people will never struggle like splice case.

I don't think the names being different really matters here. There will be 2 string splitting methods with pretty similar semantics. I fear people (including myself) won't be able to remember which method has which semantics.

@michaelficarra
Actually I see in another way. Similar names should have similar semantics.
So after we have splitN, it's clear to programmers, there are two methods:

split(sep) simple split
splitN(n, sep) split into n pieces

I know it could always bring confusion if someone dig it and see split(sep) is actually split(sep,n=Number.MAX_SAFE_INTEGER)

split(sep, n=Number.MAX_SAFE_INTEGER)
splitN(n, sep)

But it's more or less a documentation issue.  The old broken split(sep, n) could be deprecated , I mean we can't deprecated it in spec, but it could be mark as deprecated in MDN, manual, books and tools.

It seems many people are not aware of this feature currently.

@lucacasonato Yeah, as I said in the meeting , last week we in JSCIG meeting, we discussed this proposal, and we surprisingly found half of the attendances don't know split have a second arg. It is surprisingly because the most attendances are not average programmers but experienced js programmers. And there is one who is a famous chinese js book writer and he read the different versions of spec many times when writing the book but still forget it. And the rest, even aware it, most never use it and no one know the exact behavior of it except I (because I have been caught by it several times). Even I, don't fully understand the weird behavior when capture group involved.
So I don't worry confusion of two methods too much, actually people won't confused with something they might never know. 😂

Another benefit of this is that it bypasses the questions about regex-based splitting.

@tabatkins What "bypass" mean?
You know at first I also feel split(sep, n, {reminder}) might a good option, but after I found capture group weirdness in it, I think it just worse.
let s = 'axbxcxd'
let re = /(x)/
s.split(re) // [ 'a', 'x', 'b', 'x', 'c', 'x', 'd' ]
s.split(re, 3) // [ 'a', 'x', 'b' ]  // oh !
s.split(re, 3, {reminder:true}) // what it should returns?

The "consistent" but weird behavior might be return [ 'a', 'x', 'b', 'xcxd'].
I'm curious how engine could easily return that result without post process on the result returned by underlying regexp engine.
Note python re.split("(x)", "axbxcxd", 3) give u ['a', 'x', 'b', 'x', 'c', 'x', 'd'] . So we are still  diverge to any other programming languages, include python, and in a much subtle way, which I really dislike.

At the matrix channel I suggested adopting a different name.
I prefer a new name over expanding the split method.

@leobalter Though at first glance I also felt new name could avoid confusion , but after second thought, I have to say it might not very helpful like we thought.
The point is, if it actually do very similar thing , people eventually would ask why there are two? Which one should I use?
Essentially the confusion is not about the name, but about the usage of two similar apis. The name similarity is just make it easy to expose.
Make the new named api have much different semantic like only support string might helpful (so people are ok with two api because they have different ability), might not (because people may expect the new api also accept regexp, so in the end we need to add similar type check to throw on regexp-like arg --- just like startsWith/endsWith).
There is also another point, api discoverability. As my previous comment, people actually unaware split(sep, n) , so api name like explode won't be better. I also wonder how parts/part could be better (is there any precedent in other languages?).
At the end, for such fundamental api (it's not WeakRef, Atomics, etc.!), I don't believe we should decrease the confusion by decrease the discoverability.

(Very off topic aside for @hax cause I thought the mention of splice was interesting)

Not sure about native speakers, but as who have bad English skill, I really don't know what "splice" meaning in English, I never use this word except writing code, so the name "splice" is just opaque to me.

I hadn’t considered this before, but I have a feeling this has to do less with one’s English and more to do with how certain physical media technologies have drifted out of the popular consciousness over time. It’s likely that this word has become less familiar among native speakers, too.
The word describes (with an uncanny degree of precision) the exact things that the method does: the act of cutting, inserting, removing, and rejoining segments of something that together form a line. Which seems like a weird word for most people to know to begin with, but in the 20th century, splicing was very important two physical media technologies: you spliced tape and spliced film to edit music, movies, and other things. The word is older than that, but before film/tape, you’d probably have heard it mainly just in the context of splicing rope.
(If you were splicing tape, you’d make cuts in the tape in order to extract, insert, or replace a subportion. The harder part was rejoining the segments, i.e. without the part you removed and/or with the part you inserted, whichever are applicable. In older music, if the splicing job was sloppy, artifacts of the physical splicing would be audible in the music).
Given both tape and film have rapidly became much less common and less visible in the last few decades, the word has probably become much more obscure, too. It’s not quite as frozen in time as “radio button” because splice is still a “generic” word, but the programming use of “splice” seems at least partly informed by an analogy with how the word was used in the context of splicing physical media. So at one time, it would have seemed like a very natural/obvious term, but you’re probably right that this is no longer true.

I like using a { reminder: true } options bag, because it allows potentially introducing more options in the future. For example, an option could make n mean "don't count strings produced by capturing groups in the limit", or another option could be "don't include capturing groups in the result array".

I believe having this options bag adds too much complexity for this one method that was supposed to do this one thing, limited by another parameter.
The option will open an object that might have a property that says: do this other thing, or that original thing but different, and now I'm slightly confused what that number parameter does. This fails the logic of having index and indexRight.
I also find splitn not amazing as splitN feels even worse and I want to have a more meaning differentiation. Comparing split to splitn feels like substr vs substring. I'd rather have split and part so I can compare them such as slice and splice.
I think it's good to bikeshed some synonyms such as cut, divide, break, splinter, lop. Maybe splinter even gets the advantage of a closer code completion.

I wouldn't expect a third parameter - i'd expect that the signature would be:

split(strOrRegex)
split(strOrRegex, integer)
split(strOrRegex, options)

where options would subsume the current integer argument, with a clear name, and offer an alternative/mutually exclusive option name for the desired behavior.

Another benefit of this is that it bypasses the questions about regex-based splitting.

@tabatkins What "bypass" mean?

If we reuse the existing function exactly as it is, with the flag just including the remainder, my intention is that this allows us to ignore the regex questions, because the answer would be "just act as normal".
However, I have since learned that the interaction between a regex splitter and the N argument is worthless, so it doesn't really help us:
"a|b|c|d".split(/\|/, 2);
// returns ["a", "b"]
"a|b|c|d".split(/(\|)/, 2);
// returns ["a", "|"]

That is, the N argument does not mean "perform N splits", it is instead literally identical to just calling split(sep).slice(0, N). So the idea of "just run the function as normal, and append the remainder if the flag is set" doesn't work very well. :/
So yeah, going instead with either a new function, or taking the options arg as the second arg like @ljharb suggests, would be better, so we can give better behavior immediately.

I wouldn't expect a third parameter - i'd expect that the signature would be:

split(strOrRegex)
split(strOrRegex, integer)
split(strOrRegex, options)

where options would subsume the current integer argument, with a clear name, and offer an alternative/mutually exclusive option name for the desired behavior.

Today we can have things such as split(strOrRegex, new Number(x)) and I'm afraid this prevents us from having an options object in that position.

@leobalter that's true only if there's web code that relies on that, which i doubt.

Yeah I highly doubt we actually have live code depending on toValue() of the second arg, but Jordan's suggestion would let us still apply it if it proves necessary.

Can you help me understand how the options would be like? The way I see it feels confusing.
"a|b|c|d".split("|", 2); // ["a", "b"]
"a|b|c|d".split("|", { parts: 2, remainder: true }); // ["a", "b|c|d"]
"a|b|c|d".split("|", { parts: 2 }); // ["a", "b"] or ["a", "b|c|d"]

I want the remainder option to be optional if anything, but the parts/limit option remains ambiguous. I'd like the options object to have actual options for any end.

@leobalter i hadn't really thought about it much. Perhaps something like this:

split(sep, n) equivalent to split(sep, { mode: 'returned parts', count: n })
split(sep, { mode: 'number of splits', count: n }) equivalent to splitn(sep, n)

etc?

I still have a strong preference for two methods with different responsibilities.

split(x, y) takes a string value and split it by all occurrences matching x and returns all the parts limited to Number(y), which defaults to 2**32-1, in a new Array.
cut|explode|break|divide(x, y) takes a string value and split it at a limit to y occurrences of x, returning all the parts in a new Array.

Rather tan:

split(x , y) takes a string value and

if y is an object with the matching properties mode and/or count  then,

if mode is "something", then ...,
otherwise, then, ...

otherwise,

split the string by all occurrences matching x in a new array limited by Number(y).

I prefer the single responsibility.

split(sep, options) might better than split(sep, n, options), because it won't have the issue of changing the semantic of second param by third param.
But it's still more or less confused that split(sep, {count: n}) would do different thing with split(sep, n).
And split(sep, { mode, count }) also have the same problem that use one option change the semantic of the other. 😂

It seems we should have an option bag which includes the old non-option bag behavior, this is what addEventListener(type, fn, true) -> addEventListener(type, fn, {capture:true}) behave.
If we include it, then split(sep, { count }) will be expected to use old behavior. So that means u need to write lengthy split(sep, {count: n, reminder: true, mode: 'number of splits'}) to get the desired behavior.
We could make reminder:true as default, and we could make mode: 'number of splits' as default.
Actually it seems much simpler to only have a one boolean option "legacyMode"
So we could use split(sep, {count: n}) to get the desired behavior. and split(sep, n) is just shorthand of split(sep, {count: n, legacyMode:true}).
The only concern is, we normally use false as the default value , not sure how true as default will confuse people.

But we still have the problem:

ergonomics

split(sep, {count: 3}) is not as ergonomics as splitN(3, sep), u need extra 8 characters.
We could make the name shorten to single letter n, though it seems the language normally don't encourage single letter option name, no precedent I can recall.
Even the shortest form split(sep, {n: 3}) still need extra 3 chars, consider {:} all need press shift, it actually 6 key stroke.

API discoverability

Previously I thought the reason people not use s.split(sep, n)is  just because its behavior are broken/useless, but now I tend to believe by nature it's hard to discover the api.
Though it's not the original motivation of this proposal, I think it should be the goal of the proposal.

With these two reasons, I still prefer splitN solution.

For better disclosure, I strongly oppose to sentence-based/composed option values. 'number of splits' works well only on English centric environments and even societies.
Coming from an ESL background, I know people see the language words as not other than keywords understanding the logic behind but without the actual meaningful dictionary information. I'm happy to tell more about this to anyone interested.

'number of splits' works well only on English centric environments and even societies.

I suppose 'number of splits' is just a placeholder for a good option name. Though in this specific case, I don't know how we could have a better name. But as my previous comment, maybe we don't need that, legacyMode: boolean may be a better choice, or in a new method, we don't need options at all.
As a non-native speaker, I should agree that "sentence-based/composed" are bad, but I want to say another (might be more) important point is we should use simple english words.
Offtopic
Here is a repo https://github.com/mahavivo/english-wordlists which contains different level english word lists in Chinese education system, I use it to check how hard a word is for non-native speakers.
For example, "splice" is not in word list of CET4 or CET6 or even TEM8 (which is for graduate student major in English, and contains 13000 words). And as word usage frequency from COCA (Corpus of Contemporary American English) , "splice" is at 20171 😂 . So it's reflect the @bathos comment, even native speakers do not use that word much.
/Offtopic

Yes, i intentionally used a sentence as a placeholder, because obviously that wouldn’t fly.


Add PointZ

Add PointZ
Change Geography to Geometry

I'm not going to merge this. You're changing a whole bunch of code from handling geographies to handling geometries. If it had been additions, I would have been fine, but this will break a lot of things.
It's failing the unit tests too. Not sure why travis isn't showing up in this PR, but I tested it locally and it didn't pass at all.


Stop TravisCI to upload deb to Bintray - on-tftp

Background
because it's taken over by Jenkins with better version control and tests.
https://groups.google.com/forum/#!topic/rackhd/MoES4tSsMKk
Jenkins upload package will be like 1.1-1-20161205UTC-627fbb3
and Travis version will be like 1.1-1master-20160930100654Z1, which always newer than Jenkins' publish packages. so we  will have to disable Travis uploading.
moreover, Bintray has stopped Travis CI to upload deb, so original process no longer works.
Bintray response: 403 Forbidden. Version 'master' has been published more than 180 days ago and can no longer be deployed to.
Change

remove the Bintray upload steps
move the make-deb.sh to PR-Gate for now, to ensure debian build are healthy. later on , will be replaced by npm-package build , in my plan.

Test
https://travis-ci.org/RackHD-Mirror/on-tftp/builds/189124909

test this please

@yyscamper , the new files extra/make-deb.sh   &  .bintray.json are deleted.

Jenkins result has no relationship with this PR


Chess: Move H2 to H3

Please do not change the title. Just click "Submit new issue". You don't need to do anything else :D

@MGBoulware88 done! Successfully played move h2h3 for current game.
Thanks for playing!


[BUG] ProjectRoleTemplateBinding is not created for svc account when creating a new Project

Rancher Server Setup

Rancher version: 2.6.8
Monitoring V1

Describe the bug
When creating a new Project on 2.6.x the ProjectRoleTemplateBinding for the service user is not created anymore. Then when trying to enable monitoring V1 it will not work as it misses the RBACs
Comparing the ProjectRoleTemplateBinding between working version (2.5.10) and non-working 2.6.8
2.5.10
k get projectroletemplatebindings.management.cattle.io -n p-r9jlm
NAME                    AGE
creator-project-owner   76m
u-twmjzrwj7j-member     76m

2.6.8
k get projectroletemplatebindings.management.cattle.io -n p-6554l
NAME                    AGE
creator-project-owner   6m45s

And the Rolebidings:
2.5.10
k get rolebindings.rbac.authorization.k8s.io -A | grep p-r9jlm
c-zw4f7                                      p-r9jlm-creator-project-owner-project-owner                       Role/project-owner                                                    78m
c-zw4f7                                      p-r9jlm-u-twmjzrwj7j-member-project-member                        Role/project-member                                                   78m
c-zw4f7                                      rb-lb2birbnzo                                                     Role/p-r9jlm-projectowner                                             78m
c-zw4f7                                      rb-xreyzhp3bg                                                     Role/p-r9jlm-projectmember                                            78m
p-r9jlm                                      creator-cluster-owner-cluster-owner                               Role/cluster-owner                                                    78m
p-r9jlm                                      creator-project-owner-admin                                       Role/admin                                                            78m
p-r9jlm                                      creator-project-owner-project-owner                               Role/project-owner                                                    78m
p-r9jlm                                      u-r2qzbdoiba-admin-cluster-owner                                  Role/cluster-owner                                                    78m
p-r9jlm                                      u-twmjzrwj7j-member-edit                                          Role/edit                                                             78m
p-r9jlm                                      u-twmjzrwj7j-member-project-member                                Role/project-member                                                   78m

2.6.8
k get rolebindings.rbac.authorization.k8s.io -A | grep  p-6554l
c-blch7                                      p-6554l-creator-project-owner-project-owner                       Role/project-owner                                                    13m
c-blch7                                      rb-a53zf5govp                                                     Role/p-6554l-projectowner                                             13m
fleet-default                                r-cluster-c-blch7-view-p-6554l-creator-project-owner-ziqqr63gri   Role/r-cluster-c-blch7-view                                           13m
p-6554l                                      c-blch7-fleet-default-owner-cluster-owner                         Role/cluster-owner                                                    13m
p-6554l                                      creator-cluster-owner-cluster-owner                               Role/cluster-owner                                                    13m
p-6554l                                      creator-project-owner-admin                                       Role/admin                                                            13m
p-6554l                                      creator-project-owner-project-owner                               Role/project-owner                                                    13m
p-6554l                                      u-hqwvgkaucb-admin-cluster-owner                                  Role/cluster-owner                                                    13m

To Reproduce
Create a downstream cluster 1.20.x
Create a new Project and a new Namespace within
on the old UI navigate to the Cluster, and go to Tools -> Monitoring and press enable
Navigate to a Project e.g. default, go to Tools -> Monitoring and press enable
Navigate to apps and you will see the error message
Failed to install app project-monitoring. Error: UPGRADE FAILED: {"Code":{"Code":"Forbidden","Status":403},"Message":"clusters.management.cattle.io \"c-fxzb9\" is forbidden: User \"u-7ha5a5doyy\" cannot get resource \"clusters\" in API group \"management.cattle.io\" at the cluster scope","Cause":null,"FieldName":""} (get configmaps)
Is shown.

Result
ProjectRoleTemplateBinding is not created for svc account
Expected Result
ProjectRoleTemplateBinding is created for svc account
Additional context
his controller logic is not executed: https://github.com/rancher/rancher/blob/a2caef0b4c0e849f32908f648b8b78be6034001c/pkg/controllers/managementuserlegacy/pipeline/controller/project/project.go#L61
Even though it's in the pipeline package, it creates the necessary ProjectRoleTemplateBindings into a project which are necessary to install monitoring v1 and probably other things. A bit deeper this function executes this https://github.com/rancher/rancher/blob/a213e857b2d5d5931ae74804532133140ad8068d/pkg/systemaccount/systemaccount.go#L127 to create the user and the ProjectRoleTemplateBindings. This function is only called in the above handler

SURE-5564


Failed test

Hi Team,
I have observed the following two tests to fail on my machine:
test sys::socket::sockopt::test::is_socket_type_dgram ... FAILED
test sys::socket::sockopt::test::is_socket_type_unix ... FAILED

Please let me know how I can help troubleshoot them.

Please tell us your operating system, kernel version, and Rust toolchain version.  And paste the complete error message.

OS: Debian GNU/Linux 10 (buster)
Kernel version: 4.19.0-8-amd64
Rust toolchain: rustc 1.44.0-nightly (f509b26a7 2020-03-18)
Error message from cargo test:
failures:

---- sys::socket::sockopt::test::is_socket_type_dgram stdout ----
thread 'sys::socket::sockopt::test::is_socket_type_dgram' panicked at 'attempted to zero-initialize type `sys::socket::SockType`, which is invalid', /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/mem/mod.rs:500:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- sys::socket::sockopt::test::is_socket_type_unix stdout ----
thread 'sys::socket::sockopt::test::is_socket_type_unix' panicked at 'attempted to zero-initialize type `sys::socket::SockType`, which is invalid', /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/mem/mod.rs:500:5

failures:
    sys::socket::sockopt::test::is_socket_type_dgram
    sys::socket::sockopt::test::is_socket_type_unix

test result: FAILED. 41 passed; 2 failed; 2 ignored; 0 measured; 0 filtered out

This is a new error introduced by the latest nightly compiler. It really should just be a warning so as not to break existing code.  But I'm already working on a fix.

Also, if this remains an error by the time that 1.44.0 goes stable, then we'll need to backport the fix to all currently used Nix releases.


Use webpack instead of browserify and add settings to support ES6 style

As this is at initial stage, it would be great to add support for ES6 now itself. And, webpack also support to add a middleware at server side to generate the bundle files fast(by generating bundles in the memory itself without creating physical files) which helps while in development, and also has a great ES6 support

you can still use this in an ES6 env. are you referring to writing this library in ES6??

Few advantages I am seeing of webpack over browserify.

express middleware which helps in fast build in dev mode
https://github.com/webpack/webpack-dev-middleware
Greater ES6 support

Or, if you are still going with browserify, I guess we have to add browserify configurations for ES6. Right now it doesnt seem to support in react-engine

Sorry. I didn't made it clear I think. Yes. I was referring to writing this library in ES6. Since react is also following towards ES6 style, I guess that would enable this library to be an updated one.

It is very difficult to get working with Webpack and ES6. One of the main problems is around the viewResolver which only seems to handle dynamic require requests in function when import isn't able to do the same scenario - . Similar functionality with routePath to get the cached changes works though because you package is managed as common.js by the transpiler so I think it should be workable to add another option such as viewPath. Will let you know if it works.


Static assets not served with correct MIME type

Previous versions of Bankai used send to serve static assets with the correct mimetype.
Currently the code https://github.com/choojs/bankai/blob/master/http.js#L160 just sends the raw buffer.

Yeah, we oughta fix this. Related to this, we should also not hold the files in a buffer, but rather only hold the routes to the files. This would massively speed up file serving too, and prevent Bankai from running out of memory.

This should be solved by #260 :D

going to assume #260 fixed it, since it's using send now—pls reopen if not


ECNIM-644

Type

[ ] Bugfix 🐛
[x] New feature 🌈
[ ] Change request 🤓
[x] Documentation 📚
[ ] Tech debt 👩💻

Changes proposed ✔

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (5101079) 99.70% compared to head (47539aa) 99.70%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #110   +/-   ##
=======================================
  Coverage   99.70%   99.70%
=======================================
  Files         282      266   -16
  Lines        1671     1689   +18
  Branches      259      264    +5
=======================================
+ Hits         1666     1684   +18
  Misses          5        5

Impacted Files
Coverage Δ

packages/core/styles/src/index.ts
100.00% <ø> (ø)

...yles/src/packages/atomic/label/nimbus-label.css.ts
100.00% <ø> (ø)

...ages/composite/pagination/nimbus-pagination.css.ts
100.00% <ø> (ø)

packages/core/styles/src/properties/base.ts
100.00% <ø> (ø)

packages/core/styles/src/themes/contract.css.ts
100.00% <ø> (ø)

packages/core/styles/src/themes/globals.css.ts
100.00% <ø> (ø)

packages/react/src/atomic/Badge/src/Badge.tsx
100.00% <ø> (ø)

...ct/src/atomic/Checkbox/src/checkbox.definitions.ts
100.00% <ø> (ø)

...ges/react/src/atomic/IconButton/src/IconButton.tsx
100.00% <ø> (ø)

...put/src/components/InputPassword/InputPassword.tsx
100.00% <ø> (ø)

... and 110 more

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Percent encode parenthesis in URL when creating Markdown link

URL: https://www.wikiwand.com/en/Ring_(mathematics)
"Tab link -> Markdown":
[Ring (mathematics) - Wikiwand](https://www.wikiwand.com/en/Ring_(mathematics))
which caused problem in some Markdown parser
I recommends outputting this:
[Field (mathematics) - Wikiwand](https://www.wikiwand.com/en/Field_%28mathematics%29)

Also encode space as %20

This issue is more complicated than I thought.
I found that brackets are explicitly listed as reserved characters in the URL encoding.
A Markdown parser should have the ability to distinguish between URLs and Markdown syntax,
and if it can't, then it needs to be fixed.
This extension should not change the output for this particular case.


Is modifying the regular expression the most feasible solution?

Expected Behavior
It is expected that users whose name does not begin with a letter cannot be registered, and that letters, numbers, periods, underscores can then be used, completing a minimum number of characters that is channeled as an argument.
Actual Behavior
By modifying the regular expression that conditions the revision of the username parameter, we modify the behavior in block, satisfying the first condition, it cannot begin without a letter, and the second, we can use letters, numbers, period and underscore below with a minimum limit passed by parameter
Steps to Reproduce the Problem
Pass username as a parameter, following:
1 .blue.kale
2 _red_quinoa
3 ?othe>user

I added an if statement at the top the function that returned False if the first index of the string is Not a Letter.


Update tr.coffee

Coverage decreased (-0.01%) to 63.425% when pulling b42b550066942b872e5174d9fc2a9708a01c9b42 on WhiteSymmetry:patch-1 into 45cd93eebc482b2caee3da3be2ef82db7022bc41 on codecombat:master.

Thanks!


Add a game project

Everyone has implemented at least one short game in their life.
Your task is to add a project of any game of your choice
This is a(n):

[x] New algorithm
[ ] Update to an existing algorithm
[ ] Error

Details:

There are a few folders of common games created in the game_projects directory.
If you want to implement a new game, kindly create a folder in the above directory.
Submit a program of the game of your choice in the respective game folder.
You can implement this program in any language you prefer.
While requesting to be assigned, kindly specify the game you will be working on and the language in which you will implement the program.

@Princeton21 I've added a movie name guessing game issue? Can you assign me that issue?

@Princeton21  Can you assign me the issue #337 to create a Concentration game?

@Princeton21 Please assign me both the above two issues, implementation for both is almost ready!

sure

Hi @Princeton21 I create a tower of Hanoi game in Python


PERF102 does not trigger when the loop var is used in a previous loop

dict_a = {}
dict_b = {}

for loopvar in {}:
    print(dict_a[loopvar])

for loopvar, val in dict_b.items():
    print(val)

for newloopvar, val in dict_b.items():
    print(val)

$ ruff --isolated --select B007,PERF102 --no-cache rufftest/ruff_sample.py
rufftest/ruff_sample.py:7:5: B007 Loop control variable `loopvar` not used within loop body
rufftest/ruff_sample.py:10:5: B007 Loop control variable `newloopvar` not used within loop body
rufftest/ruff_sample.py:10:24: PERF102 When using only the values of a dict use the `values()` method
Found 3 errors.
No fixes available (2 hidden fixes can be enabled with the `--unsafe-fixes` option).

Hm this seems to be a detail of the SemanticModel::is_unused implementation which will say a variable is used if it is shadowed. For example, this reproduces with the simpler:
key = 1
print(key)

for key, val in {}.items():
    print(val)

And.. I think we can maybe be considered correct here although it is confusing because key is mutated:
key = 1
print(key)

for key, val in {"x": 1, "y": 2}.items():
    print(val)

print(key)

1
1
2
y

I guess we could check if it's used after the loop but that feels like a separate rule?

Which, to be fair, is behavior nobody should ever rely upon ;)
TBH, maybe there should be a new rule that warns if you rely on the loop variable leaking outside the loop...

I am working on this.

With given example above, PERF102 didn't get line 7. I think that's the expected behavior.

Can you explain why? PERF102 isn't triggered for the second loop even though the loopvar variable remains unused within the body of that for loop.


Ability to download ASCII files in Snail

Currently, Snail prompts to download binary files but if a file is ASCII, it will display it, with no way to download.  This is especially inconvenient because there are a lot of ASCII .BAS files in agon gopherspace, but it is not possible to save them, so they have to be copied to the SD card by some other means. It would be great to add a menu item (and possible hotkey) to download the currently displayed file.

You can find version that supports saving current buffer to disk here: https://github.com/nihirash/agon-snail


[BUG]

Describe the bug
I just did a test call with a 720p@30fps VideoFormat sent by the Android ACS app, received by a Web ACS client as 360p@30fps
How can I get 720p video in web ACS client? Thanks!!!

Setup (please complete the following information):

OS: [Android]
Version of the Library used
com.azure.android:azure-communication-calling:2.5.1-beta.3

please let me know your feedback.


Defer import to background isolate

Importing (and exporting) can cause stutters and ANRs for large numbers of values. One of the biggest slowdowns is adding imported records to the database.
While the decoding could happen on another isolate adding to the db has to still happen on the main isolate to avoid issues.

The change to the new data format (#332) made import async which should remove these negative effects.