/usr/bin/env: 'python': No such file or directory (Ubuntu 20.04)

Seems like Ubuntu 20.04 does not provide the python itself (only python3), so bazel fails when looking for it:
INFO: Analyzed 2 targets (184 packages loaded, 16898 targets configured).
INFO: Found 2 targets...
INFO: Deleting stale sandbox base /home/lanctot/.cache/bazel/_bazel_lanctot/7506f1f517861b11f55b320df18b36b9/sandbox
ERROR: /home/lanctot/tensorflow_cc/tensorflow_cc/build/tensorflow/tensorflow/core/util/BUILD:345:1: Executing genrule //tensorflow/core/util:version_info_gen failed (Exit 127)
/usr/bin/env: 'python': No such file or directory
INFO: Elapsed time: 14.947s, Critical Path: 0.08s
INFO: 0 processes.
FAILED: Build did NOT complete successfully
make[2]: *** [CMakeFiles/tensorflow_base.dir/build.make:115: tensorflow-stamp/tensorflow_base-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/tensorflow_base.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
lanctot@nife:~/tensorflow_cc/tensorflow_cc/build$ which python
lanctot@nife:~/tensorflow_cc/tensorflow_cc/build$ which python3
/usr/bin/python3
lanctot@nife:~/tensorflow_cc/tensorflow_cc/build$

I wonder if cmake can check for python and alias it to python3 if it's not found?

I tried with aliasing python to python3, but no dice.
I think this is related to using an older version of bazel, i.e. 2.0.0 (installed because make would fail otherwise, see: https://github.com/FloopCZ/tensorflow_cc/issues/216), which is probably looking for python 2...?
So I'm not sure how to fix this. I know they added Python 3.8 support in TF2.2 so it should not be a problem. But maybe they have not tested on Ubunut 20.04 yet.

That's odd because the environment variables set in the build_tensorflow.sh file look for and set it to python3
export PYTHON_BIN_PATH=${PYTHON_BIN_PATH:-"$(which python3)"}
export PYTHON_LIB_PATH="$($PYTHON_BIN_PATH -c 'import site; print(site.getsitepackages()[0])')"

Yes, and also I see this output too when it starts building:
INFO: Reading rc options for 'build' from /home/lanctot/tensorflow_cc/tensorflow_cc/build/tensorflow/.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=/usr/bin/python3 --action_env PYTHON_LIB_PATH=/usr/local/lib/python3.8/dist-packages --python_path=/usr/bin/python3 --config=xla --action_env TF_CONFIGURE_IOS=0

So clearly it's finding it and sending it to bazel, but then down the road it still crashes. I tried defining python runtimes and adding flags to the bazel build that I found from a few searches, and nothing worked. It finally progressed when I manually added the symlink:
sudo ln -s /usr/bin/python3 /usr/bin/python

Seems to me that this is a Tensorflow issue. The genrule target //tensorflow/core/util:version_info_gen is assuming python is in the path, but that is no longer true by default in Ubuntu 20.04. I guess they just haven't tested on Ubuntu 20.04 yet. So I will close this issue.
But, my suggestion would be to add a check in build_tensorflow.sh to see if python is in the path, and if not, then exit with a warning that python needs to be in the PATH otherwise the TF build fails.

Oh yeah good luck getting Tensorflow devs to test anything recent!


CP Review Changes

UI/UX Suggestions

Homepage

Remove the width so that text does not flow into the next line.
Improve the typography: colors, weights, font-family and shadows.
DCMan is repeated, you might want to use alternative text.
Use a different image that will have better contrast with your text.
Get inspiration from Laracasts

Dashboard Page

Add some margin between the nav bar and the tabs
Change z-index for create doc button
Fix the + button so that is position does change relative to the right edge of the browser
Add sidenav for mobile screens so that they can still access their profile.
Align the doc manipulation buttons to the right
Instead of text-descriptors, style the email and role such that it's definitive what they represent
Remove the role from the card header and space below the username.
Adjust the colours to reduce the whites.

Fixed by pull request #13


Doesn't work with Python 3.12

After I've ran just this string from PyDeepLX import PyDeepLX
It gives me an error
Process finished with exit code -1073740791 (0xC0000409)
How could we debug this issue?

#16

installed new build, still isn't working

 installed new build, still isn't working

Your code is incorrect.

What had I wrote above that Python isn't allowing?
Of course I've tried samples from readme. I've just wanted to show that it crashes on import somehow (after about 1-2 seconds of running)

My point is, it just crashes on import, not because I've improperly used it.

I have the same problem. Crashing on import

I have the same problem. Crashing on import

Any screenshot?

I have the same problem. Crashing on import

Any screenshot?

Sorry, I was importing grom srtranslate package
from srtranslator.translators.pydeeplx import PyDeepLX
but now I found that import PyDeepLX is working fine


Should we remove the unused ExtensibleInputModule branch?

Work for the ExtensibleInputModule has been merged into the Master branch.
Does it make since to keep this branch?

I think its time to clean it up, I cant see any reason to keep it

Yes!

@NeerajW yes we should remove, or yes we should keep it?

Q: Should we remove the unused ExtensibleInputModule branch?
A: Yes remove :)


PostgreSQL: wrong precision visible for numeric datatype (result grid) - please reopen

Since a the bug already got reported and fixed in v5, I don't want to repost.
I've added a report here: https://github.com/dbeaver/dbeaver/issues/5077#issuecomment-544192183 - please reopen this issue

Thanks for additional info. Issue #5077 is reopened


Add westus to Azure Gov RKE2 list

As this is RKE2 the relevant code is in rancher/dashboard. In rke2 the region options are not hardcoded, they're fetched from /v1/meta/aksLocations ...assuming the list we get from that request is accurate when using azure gov credentials, the ui fix would require us to update the hardcoded default region here and hardcoded default node pool configuration here to use a location returned from the api call here
Originally posted by @mantis-toboggan-md in https://github.com/rancher/rancher/issues/43024#issuecomment-1747274142

Internal reference: SURE-5437
Blocks https://github.com/rancher/aks-operator/issues/98

We should use azure gov credentials to verify but this looks to be fixed by https://github.com/rancher/dashboard/pull/10083, repro steps for that PR use azure china but the underlying issue is the same: the default hardcoded region isn't available with those credentials.

I confirmed that this is covered by https://github.com/rancher/dashboard/pull/10083.

/backport v2.8.next1

Added possible automation-candidate IF we can mock the requests needed in order to load the machine-config for an Azure RKE2 cluster and check if default region is set. We might need to mock "cloud creds" reply, if possible. To be evaluated

@yonasberhe23 I believe only US citizens would be able to do this? cc @yonasberhe23 @gaktive

That's right @izaac  - to work on this one I borrowed temporary credentials from Rancher Government team

Looking over the related backend ticket, part of this was already tested by someone with the appropriate access: https://github.com/rancher/rancher/issues/43024#issuecomment-1997789020 so UI QA could try talking with @atoy3731 for help but this likely could be marked as done.

@atoy3731 confirmed offline that he tested this issue, so closing as complete


applicative stuff -- singleton and andMap

I needed these in a project since map6 does not exist. I'm getting pretty sick of core not having the applicative functions pieces to the puzzle when they have functor and monad. 💢 But I digress: here's those pieces for Result.Extra.

Inclusion of the index.html in your pull request is a mistake, right?

Yo. That was definitely an accident.

I added tests for the new functions, merged it all, and published as 2.2.0.


Fixing wrong check

Signed-off-by: Noel Georgi<EMAIL_ADDRESS>

@moul PTAL

@moul fixed. Any plans for a new release. It's been quite some time.

thank you, will do a new release soon :)


Multiple Configurations - Possible?

Hi - I was wondering if it is possible to have multiple configurations? If so - whats the syntax?
So multiple remote probes against a since Uptime Kuma instance.
Thanks

Hi, yes it is.
You need to set the probe name in the appsettings.json on field Configurations -> ProbeName.
Than use this in the TAGs on UK:

The remote probe will look for the TAG "Probe" that match the ProbeName in appsettings.

Thanks. What's the syntax for appsettings.json. Just comma delimited for the configuration?

Appsettings is a json file, the relevant part of configuration is the section "Configurations"
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    },
    "Console": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      },
      "FormatterName": "json",
      "FormatterOptions": {
        "SingleLine": true,
        "IncludeScopes": false,
        "TimestampFormat": "dd/MM/yyyy HH:mm:ss",
        "UseUtcTimestamp": false,
        "JsonWriterOptions": {
          "Indented": false
        }
      }
    }
  },
  "Configurations": {
    "Url": "http://localhost:3001/",
    "Username": "admin",
    "Password": "Admin123",
    "ProbeName": "Home",
    "UpDependency": "<IP_ADDRESS>",
    "Timeout": 1000,
    "Delay": 60000,
    "ConnectionStrings": {
      "PGSQL": "Host=localhost;Database=postgres;Username=postgres;Password=postgres"
    },
    "WhoisApiUrl": "https://whoisjson.com/api/v1/whois?domain=keep.this&format=json",
    "WhoisApiToken": "whoisjsonApiToken"
  }
}

Thanks - whoops sorry I realised I asked my question incorrectly, is it possible to have 1 remote probe against multiple instances of Uptime Kuma? So the in the appsettings.json - there are two configurations. One configuration for url1 and another for url2.
I have two instances of Uptime Kuma - externally hosted and internally hosted and want to configure one of the remote probes to talk to both. Is this possible? Thanks

No, this is not possible, to achieve this you need two different probes.

Thanks for confirming.

I would like to ask, can multiple types be configured within a single probe? Or can a single type be configured with multiple addresses, such as Website A and Website B?


Change kosove code to XK used by european union

https://knowledgecenter.zuora.com/DC_Developers/SOAP_API/J_Country,_State,_and_Province_Codes/A_Country_Names_and_Their_ISO_Codes

Will this be merged?


[CSSimplify] Extend same-shape detection to account for pack archetypes

same-shape mismatch detection logic shouldn't expect that types are always
packs because they could be either invalid (i.e. Void) or pack archetypes too.
Resolves: rdar://112090069

@swift-ci please test

@swift-ci please test


ec2_platform: Named security groups are not unique to job runs

If a security group is specified by name, all job runs will match the same group based on specifically that name. This becomes an issue when there are multiple test jobs running concurrently, as the destroy step of one job will remove the security group that is being used by the other (still running) job.
Named security groups are necessary for any tests where multiple instances need to communicate with each other (any clustered application).
These groups should have a tag applied with the unique ID for the currently running Molecule job, and adds/deletes should filter based upon that value to avoid trampling on other tests.

This should probably be updated to skip the delete step if the security group doesn't have a tag on it for the currently running job. Furthermore, if the security group already exists, that tag should not be added in order to prevent destruction of SGs that have relevance outside of a particular molecule job run.


chore: Add @JorTurFer as code owner

Add @JorTurFer as code owner
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Should we create a group for this repo like in others?


fix: use native webview for checkout to share auth creds

The type of this PR is: fix
Description
Use native webview rather than react-native-webview in order to share auth credentials and prevent users from being prompted to login in checkout flows.

Adds a prop showFullScreen to native webview to allow showing header
Replaces react-native-webview with our own native webview in Checkout

Before
https://user-images.githubusercontent.com/49686530/108123341-b24ef100-7073-11eb-865c-2c3b69095752.mp4
After
https://user-images.githubusercontent.com/49686530/108123346-b418b480-7073-11eb-9f62-77f1d3aeaac1.mp4
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

Thanks for this fix @brainbicycle!


Readme

Closes #2

The readme looks really great! Thank you for working on this!
Can you fix the test? Should be just a syntax error, then it's good to go from my end :)


[BUG] Backup never completes

Describe the bug (🐛 if you encounter this issue)
Neither clicking the Create Backup button nor "converting" a snapshot to a backup creates a completed backup.
To Reproduce
Steps to reproduce the behavior:

Navigate to a bound volume.
Click on 'Create Backup'
Wait for some time.
No error, backup never appears in Backups, volume's 'Last Backup At' date is never filled, backup progress (on volume page) only shows

Expected behavior
A backup is taken and stored at <backup target>.
Log or Support bundle
If applicable, add the Longhorn managers' log or support bundle when the issue happens.
You can generate a Support Bundle using the link at the footer of the Longhorn UI.
Environment

Longhorn version:
Installation method (e.g. Rancher Catalog App/Helm/Kubectl):
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: k3s v1.25.6+k3s1

Number of management node in the cluster: 1
Number of worker node in the cluster: 2

Node config

OS type and version:
CPU per node:
Memory per node:
Disk type(e.g. SSD/NVMe):
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal):
Number of Longhorn volumes in the cluster: 1

Additional context
The volume I am testing with was not created using the Longhorn UI.
I have tried both NFS and minIO backup targets.

Can you provide the support bundle?

BTW, can you access the backup target and check if the backup is being uploaded?

Can you provide the support bundle?

Is there a way to obfuscate internal domain names from the logs?

BTW, can you access the backup target and check if the backup is being uploaded?

When using NFS I did not see anything on the backup target. However in that case I think there might be a protocol version issue.
When using minIO, it appears that some backups might exist there however the size reported on what I think are the backup files are impossibly small. The volume I am trying to back up is approximately 140MB and minIO reports sizes less than 300 bytes.

@derekbit I have modified the original report to include a support bundle.


access:

See https://go.dev/wiki/GerritAccess

What kind of access are you requesting?

This looks like a spam account.


prying rad shutter makes a ton of sounds

Description
might happen on normal shutters and even doors idk
if you pry it it spams the same sound like 10 times
probably FirstTimePredicted stuff

it happens on emergency airlocks too

That's my bad, I introduced this bug in #23818 because my dumbass forgot that there are things that get pried open that aren't airlocks.


Add support for client TLS certificates/keys

Fixes #4
Let me know if anything needs changing / fixing.

@dustinmiller @mikemrm Is anyone able to review this? Thanks.

lgtm :shipit:

Is it possible to get this merged? Thanks.

Don't think this is needed anymore, any nacks against closing?


Trim 13 digit timestamps to the expected 10 digits

This is the part that takes care of the more precise 13 digit timestamps send by front end devices such as android phones.

@mrjones Sorry I forgot to include this commit that is needed by my last PR


Adding LedgerService

v2/rest: adds support for ledger endpoint

Hey @remco-remco, thanks for opening a PR, this all looks good. Could you please squash the commits and add a meaningful commit message such as rest: adds support for ledger endpoint?

Hey @remco-remco, thanks for opening a PR, this all looks good. Could you please squash the commits and add a meaningful commit message such as v2/rest: adds support for ledger endpoint?

Hi Jacob, thanks!
I'm very new to github and a bit new to golang.
I also tried to add an example how to use the ledgerservice. it works perfectly on my local pc but i fails testing on github, I decided to remove the example for the moment.

@remco-remco ok thats no problem. This repo uses travis as a build gateway and runs the following commands golangci-lint run and go test -v ./... whenever you open a push a new commit. If either of these fail then the build will fail and you will get that horrible red cross.
When pushing new changes run golangci-lint run and go test -v ./... and if they pass locally then the build will pass on travis.

@remco-remco ok thats no problem. This repo uses travis as a build gateway and runs the following commands golangci-lint run and go test -v ./... whenever you update your PR. If either of these fail then the build will fail and you will get that horrible red cross.
When pushing new changes run golangci-lint run and go test -v ./... and if they pass locally then the build will pass on travis.

Ok, thanks!

I have nothing else to add at the moment.
Hope everything looks good for implementation :-)

Looks fine @remco-remco, Im just going to manually test this and ill pass it on to get merged. Thanks again for the work!

Looks fine @remco-remco, Im just going to manually test this and ill pass it on to get merged. Thanks again for the work!

Excellent! I'm already using this new function in one of my apps.
So far it works great.
Thank you too for helping me with this merge!


Support for File data type for file uploads

Hi,
Does this project support swagger's "File" data format for file uploads?
Thanks!

@olivoil no, it does not

Would be great!


PRI-106 - fix: sql injection by parsing to number

@kgmyatthu can we also make the query parameterised using either a named param or a ? unnamed param?

I remember trying this with the sql package that's currently in use. It didn't work. I'll revisit them again.


access client ip in record event

Is there an easy way to access client ips inside record event hooks, the only way i could think of is adding a middleware that sets the context with the ip and later down inside the hooks we access it though event.Context, but that doesn't seem to work either
app.OnServe().BindFunc(func(se *core.ServeEvent) error {
		// register a global middleware
		se.Router.BindFunc(func(e *core.RequestEvent) error {

			e.Request = e.Request.WithContext(context.WithValue(e.Request.Context(), "ip_address", "{{get_ip}}"))
			return e.Next()
		})

		return se.Next()
	})```

You can read the client IPs inside hooks.
// The IP of the last client connecting to your server.
// The returned IP is safe and can be always trusted.
// When behind a reverse proxy (e.g. nginx) this method returns the IP of the proxy.
// https://pkg.go.dev/github.com/pocketbase/pocketbase/tools/router#Event.RemoteIP
ip := e.RemoteIP()

// The "real" IP of the client based on the configured Settings.TrustedProxy header(s).
// If such headers are not set, it fallbacks to e.RemoteIP().
// https://pkg.go.dev/github.com/pocketbase/pocketbase/core#RequestEvent.RealIP
ip := e.RealIP()

reading the client ip is not the issue, that i got from the docs, accessing the value inside something like RecordEvent is the issue
	app.OnRecordValidate("user_votes").BindFunc(func(e *core.RecordEvent) error {

		app.Logger().Warn(fmt.Sprintf("%+v", e.Context.Value("ip_address")))
		return e.Next()
	})

Record model hooks have no access to the request context.
From my understanding, you'll need to :

add an ip_address field to your user_votes collection
extract the client IP inside a *Request hook
access it with record.Get("ip_address") in your Record model hooks

i need to have access to client ip before creating the record entry, so that i can add it here, can't send it from the client side

Only *Request suffixed hook have access to the request info.
Please explore the available hook in https://pocketbase.io/docs/go-event-hooks/#request-hooks.


HBASE-25482 Improve SimpleRegionNormalizer#getAverageRegionSizeMb

HBASE-25482
If the table is set NormalizerTargetRegionSize, we take NormalizerTargetRegionSize as avgRegionSize and return it. So the totalSizeMb of table is not always calculated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
2m  2s
Docker mode activated.

Any further comments/concerns @wchevreuil ?

Any further comments/concerns @wchevreuil ?


Expand on introductory tutorials with alternatives using Foxglove Studio (free + open source app)

Provide faster and easier-to-setup alternatives for some of the basic tutorial steps (i.e. display the ROS computational graph, ROS params, view log messages, and visualize URDF models)
NOTE: All described Foxglove Studio features are free and open source, and will always remain free and open source

Overall, I'm not a fan of this.  The beginner tutorials are supposed to show one built-in recommended way to do things, not every way to do things.  I'm happy to have some documentation about Foxglove studio in here, just not as part of these tutorials.
With that in mind, I'll suggest making a separate page (probably in the How-To Guides section) describing Foxglove studio, and maybe showing this alternate way to do these things.  That way we keep the beginner tutorials simple, and have expanded content elsewhere.

With that in mind, I'll suggest making a separate page (probably in the How-To Guides section) describing Foxglove studio, and maybe showing this alternate way to do these things. That way we keep the beginner tutorials simple, and have expanded content elsewhere.

@clalancette - I'm happy to take a stab at that. Closing this PR to open a new one in this direction.

@clalancette - please let me know if this latest iteration aligns more with what you were envisioning!

Cleaned up and reopened here, due to branch naming issue in forked repo: https://github.com/ros2/ros2_documentation/pull/2466


Bind multiple docker ports to the one IP address

Hi, @gregnr !
I returned here with another question. Is it possible to bind multiple ports to one IP address to reach internal docker containers e.g. Docker GATEWAY? For example, I have mysql container which uses 3306 port for all incoming connections, when mysql image restarts it changes its  IP address from one to another, and I need to reconfigure my DB UI client to reconnect to the new one and this is not comfortable to me. Do you by any chance know some workarounds in such case?
Thank you very much.
Sincerely, Alex

Hey @alexandertsukanov, here are some workarounds:

If you don't care about connecting to the container's IP directly, you can just use regular port binding which binds the container's port to a port on your localhost, ie:
$ docker run -p 8080:80 nginx

If you use this approach, you don't need docker-mac-net-connect at all.

Set a static IP on the container so that it doesn't change. Eg. docker-compose:
version: "3.8"

networks:
  my-net:
    name: my-net
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: <IP_ADDRESS>/24
          gateway: <IP_ADDRESS>

services:
  nginx-example:
    image: nginx
    networks:
      my-net:
        ipv4_address: <IP_ADDRESS>

This should solve your problem, just note that in general static IP are not usually best practice. In a development environment you are probably fine, but one of the benefits of containers is to treat them as ephemeral.

Some sort of DNS service that auto maps domains to container IPs (I haven't found a good solution that does this yet).
I'm actually working on a solution for this right now. Essentially you will be able to do something like:
$ docker run -d --name nginx-example nginx
$ curl -I nginx-example.container.docker.internal
...

Let me know if this is something you would be interested in.
Currently it is implemented as a CoreDNS extension, so you would need to point your macOS host DNS to this service in order for it to work. Alternatively we could consider some sort of /etc/hosts file manipulation.

@gregnr sorry I forgot to clarify -p option doesn't work for me. I need to access container directly by IP. (The reason is my app starts child docker image without -p forwarding). The 3th option looks really cool.

Hey, @gregnr!
Is any ETA on this feature? May I can do something to help? I see the project mostly has a code-base in Go, I am more proficient in Java, but can try to dive into GO.

Some sort of DNS service that auto maps domains to container IPs (I haven't found a good solution that does this yet).
I'm actually working on a solution for this right now. Essentially you will be able to do something like:$ docker run -d --name nginx-example nginx
$ curl -I nginx-example.container.docker.internal
...

Let me know if this is something you would be interested in.
Currently it is implemented as a CoreDNS extension, so you would need to point your macOS host DNS to this service in order for it to work. Alternatively we could consider some sort of /etc/hosts file manipulation.

I had a crack at this with https://github.com/Mahoney/docker-etc-hosts - there's probably loads of issues with it, grateful for your thoughts on the approach.

Mine is broken (see https://github.com/Mahoney/docker-etc-hosts/issues/2), but there are other options which run a DNS proxy inside docker that will resolve container names to docker ip addresses. You then need to make that DNS proxy the host's DNS server:
https://github.com/aacebedo/dnsdock
https://github.com/mageddo/dns-proxy-server
I think there may be others....


Error on training PointRCNN with v1.0.0.dev0

Hi, thank you for your contribution about PointRCNN. In order to reimplement PointRCNN, at the suggestion of @wHao-Wu , I took the following steps:

Build an image of v1.0.0.dev0 branch based on the Dockerfile https://github.com/open-mmlab/mmdetection3d/blob/v1.0.0.dev0/docker/Dockerfile.
Update my KITTI data with v1.0.0.dev0 by running /tools/create_data.py file.
Pull the latest code from v1.0.0.dev0 branch and rerun the PointRCNN again.
However, the eval results are shown in this log file 20211217_104132.log. The accuracy is very low. Compare with the log file https://github.com/open-mmlab/mmdetection3d/tree/v1.0.0.dev0/configs/point_rcnn, it must be something wrong. I carefully compared the log file you provided with the latest code from v1.0.0.dev0 branch, there are many differences in /configs/base/models/point_rcnn.py, like 'enlarge_width=0.1' which doesn't appear in the log file you provided. I'm so confused about this. Would you please explain this problem? I'm looking forward to your reply.

Hi, @Machine97,
Very sorry for the late reply. We have searched the problem when training PointRCNN for several days. We found that there is a possible bug: the NMS in RPN-stage may contribute to this problem. We will fix the problem asap.

Hi, @Machine97, Very sorry for the late reply. We have searched the problem when training PointRCNN for several days. We found that there is a possible bug: the NMS in RPN-stage may contribute to this problem. We will fix the problem asap.

Thank you very much for your reply. By the way, I am trying to test my 3D object detection fusion method based on PointRCNN. So, could you please provide the code that can be trained normally first? If it's not convenient, I will wait for you to fix this problem. I am looking forward to your reply. Thank you.

Hi, @Machine97
Sorry for my late response and for your long waiting. I'm pushing a commit to solve the bugs when training PointRCNN. More details can be seen in this PR. We will merge this PR asap. Thanks for your patience and waiting.

Fixed by #1224 .


16 bits sar_msg_ref_num for Multipart SMS

Hi,
In given example of Multi part SMS SubmitMultipartMultilangualExample currently it is sending 8 bits sar_msg_ref_num. Is it possible to send 16 bits sar_msg_ref_num? If yes can someone please guide how to implement this change.

The UDHIE_IDENTIFIER_SAR is 0x08 instead of 0x00. For the 16-bit reference, the reference is 2 bytes. The length is therefore also 1 byte larger, 4 instead of 3. See also https://en.wikipedia.org/wiki/User_Data_Header or ETSI/3GPP specifications. Please let me know if this is sufficient.

The UDHIE_IDENTIFIER_SAR is 0x08 instead of 0x00. For the 16-bit reference, the reference is 2 bytes instead of 1 byte. The length is therefore also 1 byte larger, 4 instead of 3. See also https://en.wikipedia.org/wiki/User_Data_Header or ETSI/3GPP specifications. Please let me know if this is sufficient.

Thanks a lot for support. I have updated the code as below and it worked as expected
protected static synchronized short getReferenceNumber() {
    refNum++;
    if (refNum == 65536) {
        refNum = 1;
    }
    return refNum;
}

private byte[][] splitUnicodeMessage(byte[] aMessage, Integer maximumMultipartMessageSegmentSize) {

	final byte UDHIE_HEADER_LENGTH = 0x06;
	final byte UDHIE_IDENTIFIER_SAR = 0x08;
	final byte UDHIE_SAR_LENGTH = 0x04;

	// determine how many messages have to be sent
	int numberOfSegments = aMessage.length / maximumMultipartMessageSegmentSize;
	int messageLength = aMessage.length;
	if (numberOfSegments > 255) {
		numberOfSegments = 255;
		messageLength = numberOfSegments * maximumMultipartMessageSegmentSize;
	}
	if ((messageLength % maximumMultipartMessageSegmentSize) > 0) {
		numberOfSegments++;
	}

	// prepare array for all of the msg segments
	byte[][] segments = new byte[numberOfSegments][];

	int lengthOfData;

	// generate new reference number
	short referenceNumber = getReferenceNumber();

	// split the message adding required headers
	for (int i = 0; i < numberOfSegments; i++) {
		if (numberOfSegments - i == 1) {
			lengthOfData = messageLength - i * maximumMultipartMessageSegmentSize;
		} else {
			lengthOfData = maximumMultipartMessageSegmentSize;
		}

		// new array to store the header
		segments[i] = new byte[7 + lengthOfData];

		// UDH header
		// doesn't include itself, its header length
		segments[i][0] = UDHIE_HEADER_LENGTH;
		// SAR identifier
		segments[i][1] = UDHIE_IDENTIFIER_SAR;
		// SAR length
		segments[i][2] = UDHIE_SAR_LENGTH;
		// reference number (same for all messages)
		System.arraycopy(ByteBuffer.allocate(2).putShort(referenceNumber).array(), 0, segments[i], 3, 2);
		// total number of segments
		segments[i][5] = (byte) numberOfSegments;
		// segment number
		segments[i][6] = (byte) (i + 1);

		// copy the data into the array
		System.arraycopy(aMessage, (i * maximumMultipartMessageSegmentSize), segments[i], 7, lengthOfData);

		LOGGER.info("Message{} length: {}", i, segments[i].length);
	}
	return segments;
}


WIP: add design style

The most recent updates on the branch have fixed several things, it looks like it's just the column sizing that's still an issue
There are 2 things I notice:

The size of columns 2+ are fixed and look bad when col 1 is a short string and col 2+ have longer content
Only the first col resizes and things look strange at larger window sizes

What dynamic or static sizing options are available for this?

The most recent updates on the branch have fixed several things, it looks like it's just the column sizing that's still an issue
There are 2 things I notice:

The size of columns 2+ are fixed and look bad when col 1 is a short string and col 2+ have longer content
Only the first col resizes and things look strange at larger window sizes

What dynamic or static sizing options are available for this?

Hi, thanks,  I used "table-layout: auto;" and but it did not fixed the issue and then I tried width:100% for both 'thead' and 'tbody', it filled the width but not equally or the way that we want, please let me know if you have any suggestion that I can test here and fix the issue? thanks

Hey @HamidGoudarzi1988, I'm not sure what the best approach here is
Were you able to make any progress?

Hi @hu3man, we've got a fix to the table layout to review, please let me know if it needs more tweaks, thanks

Awesome, thanks @HamidGoudarzi1988. This looks like a good to me!

@HamidGoudarzi1988 , I seem to have totally messed up this branch with a bad merge. Could you please publish your local changes to a new branch?
Thanks!

ok sure, this is new pr: https://github.com/ecadlabs/taqueria/pull/317 ,
please let me know if something is missing
On Tue, 15 Feb 2022 at 15:05, Houston K @.***> wrote:

@HamidGoudarzi1988 https://github.com/HamidGoudarzi1988 , I seem to
have totally messed up this branch with a bad merge. Could you please
publish your local changes to a new branch?
Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/ecadlabs/taqueria/pull/180#issuecomment-1040885727,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMIKGAWILKESE2DS5YMS27TU3LL3DANCNFSM5NG5LGSQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


Change ArmEndpoint parameter type to [System.Uri] instead of [string] for better validation

there are many places where $ArmEndpoint is being used as string and we have a validation code across the modules.This looks a bit clumsy
change the type and introduce a function Validate-Uri or do ValidateScript as part of the parameter

No longer relevant.


Print build logs even if the feature build is successful

When running devcontainer features test -f <feature> --log-level "debug", devcontanier only shows the logs if the feature install script fails. However logs are important specially when warnings could lead to potential issues even if the build is successful.

Thanks for filing! I think this makes sense, @joshspicer I'd love to get your thoughts too.


Fix for 'BadZipFile'

This fixes the issue with a hardcoded closure compiler filename, which prevents initialization as the filename has changed with updated versions.

Please merge this pull request! This fixes a problem that is currently making LimeJS uninstallable for me:
The current code in master/limejs/lime.py appears to download the Closure Compiler from the Google Code domain closure-compiler.googlecode.com. Google Code has been discontinued, and now all requests to that domain return an error 404. This pull request changes the code to use the current URL.

@alexcat3 I believe the authors have abandoned this (no updates since 2015) - to my knowledge, my fork is the only way to use limejs at the moment.


rs_int_example failing

Describe the bug
rs_int_example.py failing on An error occurred during each attempt of this action.
To Reproduce
Steps to reproduce the behavior:

./run_docker.sh
python -m omnigibson.examples.action_primitives.rs_int_example

Expected behavior
Program ends after printing Finished executing place.
Screenshots
                  Plan has 2 steps
                  Executing arm movement plan step 1/2
                  Executing arm movement plan step 2/2
Traceback (most recent call last):
  File "/micromamba/envs/omnigibson/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/micromamba/envs/omnigibson/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/root/omnigibson/omnigibson/examples/action_primitives/rs_int_example.py", line 70, in <module>
    main()
  File "/root/omnigibson/omnigibson/examples/action_primitives/rs_int_example.py", line 60, in main
    execute_controller(controller.apply_ref(StarterSemanticActionPrimitiveSet.GRASP, apple), env)
  File "/root/omnigibson/omnigibson/examples/action_primitives/rs_int_example.py", line 18, in execute_controller
    for action in ctrl_gen:
  File "/root/omnigibson/omnigibson/action_primitives/starter_semantic_action_primitives.py", line 545, in apply_ref
    raise ActionPrimitiveErrorGroup(errors)
omnigibson.action_primitives.action_primitive_set_base.ActionPrimitiveErrorGroup: An error occurred during each attempt of this action.

Attempt 0: EXECUTION_ERROR: Could not navigate to the target position. Additional info: {'target pose': (tensor([ 0.0310, -0.6776,  0.0100]), tensor([ 0.0000,  0.0000, -0.8991,  0.4377]))}

Attempt 1: POST_CONDITION_ERROR: Grasp completed, but no object detected in hand after executing grasp. Additional info: {'target object': 'apple'}

Attempt 2: POST_CONDITION_ERROR: Grasp completed, but no object detected in hand after executing grasp. Additional info: {'target object': 'apple'}

Desktop (please complete the following information):

OS: Ubuntu 24.04.1 LTS
Isaac Sim Version (see docker)
OmniGibson Version 1.1.1 (docker)

Additional context
The behavior is non-deterministic and different attempts are printed depending on state at failure.

Hi @f1ren , thanks for reaching out!
Since the action primitives use sampling-based motion planning, it is expected that the robot behavior can be non-deterministic. This primitives feature is also somewhat experimental and needs a lot more tuning. We are actively working on making this more robust and experimenting with alternative motion planners. But for now, you can try the following to make the primitives more fault-tolerant:
In omnigibson/examples/action_primitives/rs_int_example.py, you can look for controller.apply_ref(StarterSemanticActionPrimitiveSet.GRASP, apple) and controller.apply_ref(StarterSemanticActionPrimitiveSet.PLACE_ON_TOP, cabinet). This apply_ref function has an attempts argument, which defaults to 3. You can try to make this higher either 1) directly in the example you are running or 2) make the default higher in omnigibson/action_primitives/stater_semantic_action_primitives.py::StarterSemanticActionPrimitives::apply_ref.
We do have some really exciting progress, stay tuned for our next few releases!


Int variable without default value was incorrectly initialized with export_range  annotation.

Godot version
v4.0.2.rc1.official [50f26811b]
System information
Windows Vulkan API 1.3.217 - Forward Mobile -AMD Radeon(TM) Vega 8 Graphics
Issue description
extends Node2D

@export_range(1,100) var range_int:int

func _ready() -> void:
	print(range_int)

If range_int is not set to the default value, the minimum value is shown in the inspector, but range_int is initialized to 0 at runtime. If you change the value in the inspector first, and then change it back to the minimum value, range_int changes back to the minimum value at runtime instead 0.
See video:
https://user-images.githubusercontent.com/45038185/229273427-3c77bba6-d2f8-4491-a884-ffe5917f0322.mp4
Steps to reproduce
Above.
Minimal reproduction project
MPR:ExportRangeBug.zip

Duplicate of #74188.

I just wanted to sneak in here and say I just run into this and my opinion really quick with a bit of reasoning...It makes sense in my eyes for the engine to use the lowest value as it's default, unless provided otherwise. however, that might be of course is up to debate.
The reason for the lowest value to show as default is that the current behavior of the engine is that if you press the reset button after you changed the value, it will still in the editor reset back to in the provided example: 1, even though it'll now be 0 instead when accessing the variable. I think it'll be massively confusing if we just try to alert the user in some way because if you have a lot of these it could get hard to manage if you don't just have it set within the needed range.
You could argue that setting by default in the asked for range to its lowest value could cause code to work, but wasn't intended as maybe they forgot to then set the number to something else altogether, but there is another side to that argument where the code still works anyway, and they still don't know. Although then you could argue that their code should better handle incorrect/unexpected values, but I think you get my point.
Either way I think the proposed solution so far is still a good one, just not a matter of my personal preference and so I figured I'd throw my opinion into the ring as I'm sure it's not an uncommon opinion. I can't wait for whatever solutions comes of this! :)

To add to this (since this just came up on the german godot discord):  This also affects Custom Resources with @export_range. Creating a new Resource and not changing it in the inspector results in "0" being written to the .tres

Just experienced this issue for the first time in a resource where I had only set the range on an int and not a default starting value with "=". Reading the initial replies to this I honestly can't say I agree with any proposal that suggests the default value should be anything other than the value the inspector shows a user. If a user can't trust what the inspector is showing them, the inspector isn't doing its job correctly.
Adding to the confusion, hitting the 'reset to defaults' arrow next to a value resets it to the range minimum too, so to be given a value of 0 even after that is extremely confusing.
I think the best solution is just to set the default value to the minimum range value because when someone makes a range, their usual intent 99.9% of the time is to restrict a value to only fall between those min and max values. Making the variable = anything that isn't within the range seems to be against intended UX functionality.

Personally, I would not see it as an error if it defaults to 0, even if the range has a higher minimum. However, the inspector MUST show the correct value.
I would also print a warning if the default value is outside of the export range. (Maybe even force the programmer to define a default value?)
I'm not sure if it is correct to default to the minimum. Why not the maximum or the middle?
(IMHO)

I think if you're setting a range, you just expect that range to be enforced. As most variable types will default to 0 (or thereabout), defaulting to the lowest possible value within the range seems fitting. Whereas I think most users would expect to have to set a default value if they wanted it to start midway through the range or maxxed out.
As for making a getter/setter for the value, while it would work, it feels like cumbersome extra steps that don't fix (what I would argue) is an underlying UX issue.
One last note on the alternative where the inspector shows the 'correct' value and displays a 0 with a warning message. I wonder what is being achieved there that doesn't boil down to a user maybe being confused by the message, and then just setting the default value? It doesn't seem advantageous to the UX of the engine to give users extra steps in this regard.

Just wanted to add that I also experienced this issue and it took me a solid minute to work out what was wrong. I feel that because in the editor it's showing the minimum of the range as the default, you expect that to be the value set for that variable.
I recreated the issue in a MRP which I've attached below:
export_range-bug-report

I opened #98092 which ended up being a dupe of this, but wanted to add that this also affects C# classes in the same way.
Custom resources act almost identically, except that the default value (e.g. 0) gets serialized into the scene files as well, which doesn't happen for normal custom classes extending Node.


Support "autoCleanUp" like cypress-plugin-snapshots does

Is your feature request related to a problem? Please describe.
Auto clean up untested image files can be useful to remain minimum file storage when we changed the matchImage title of test
Describe the solution you'd like
Automatically remove snapshots that are not used by test

Hi @iamyoki!
That's and interesting feature request, I'll look into that!
My only concern is how this feature should work in situation then some of the test cases (it()) are skipped. We probably can handle that by just notifying users in the docs that their screenshots will be removed if autoCleanUp is enabled and the test case is skipped. WDYT?

Hey @iamyoki !
I've just created new PR resolving this issue: #124. I've published it to npm under 3.0.0-alpha.0, can you give it a try please? 🙏

@iamyoki Kind reminder - would you like to check if PR #124 is what you had in mind with this feature request please?


Check if containerized_deployment is 'true' before validating contain…

Check if containerized_deployment is 'true' before validating container registry credentials.
In Baremetal deployment, we may need to pass ceph_docker_registry_username and ceph_docker_registry_password
Fixes BZ : https://bugzilla.redhat.com/show_bug.cgi?id=1808982
Signed-off-by: Ashish Singh<EMAIL_ADDRESS>

This is wrong.
The container registry authentication is also used for non containerized deployment due to the ceph dashboard (100% containerized).
So we only need to check the ceph_docker_registry_auth variable.


add loud, sound, speaker, muted and tada emojis

so new emojis

these seem to be in the wrong folder
if you want the emojis to be usable by the site then put them in files/emojis

oh i thought they belonged here, because there's just index.html in there

yea the folder named "files" is where everything actually goes, but the root "emojis" folder is just so the website has an emojis page

i forgot to remove them from assets but idk if that will do smth

should be fine

ok, thanks for merging


IE is randomly getting hang while debugging, particularly click event

Sometimes IE is getting hung/frozen while debugging particularly with click event.  The issue is disappeared when I terminate the IE server instance. I am not sure about this behavior.
Alternatives Tried.
a) Use SendKeys
b) Use Actions Class click
However, none of the above solutions resolved the issue. any insight on this?
Thanks,
RKY

This is a selenium issue so please post it in the selenium github repo.

Have you tried searching for this issue? Most probably this is a known issue.


aws-sdk-cpp: propagate aws-crt-cpp

Motivation for this change
Alternative to #142300
Fixes Fixes #142107
Things done
make aws-crt-cpp propagate

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)

No need to address this here, but can you think of an installCheck for nix that will check for AWS support, without needing internet access?

perhaps use minio? to check generic s3?

Fixes the issue for me.


Optimal Game Strategy

💥 Proposal
Piyush and Nimit are playing a coin game. They are given n coins with values x1, x2 …. xn where 'n' is always even.
They take alternate terms. In each turn,
a player picks either the first coin or the last coin from the row and removes it from the row.
The value of coin is received by that player.
Determine the maximum value that Piyush can win with if he moves first. Both the players play optimally.
Have you read the Contributing Guidelines on Pull Requests?
Yes
I want to work in C++

/assign


Issue #643 fix close usage records

Connected to #643

What about cpu/ram(/disk size?) metrics that can change during the lifetime of VM same way as instance-type, i.e. "outside" of SlipStream? I'm not sure this is covered.


Documentation Help

This seems to be a good solution for automating the updating of SSL certificate.
I am unclear on a few things.
On what computer do I need to install the scripts? Would it be the S3 bucket? I SSH into the bucket and run them?
This command would be run also in the S3 bucket?

I am not the author but can help.

On what computer do I need to install the scripts?

On any that has access to the AWS API endpoints - a local workstation, an EC2 instance, etc.

and these are the variables that I need to change?

Yes.
I'm hoping this can all be rolled into a single Lambda function so it can be scheduled.
Paul

@paulwakeford Thank you explaining it. I tried https://vittegleo.com/blog/letsencrypt-lambda-function/ but was unable to upload the zip file.


MinIO can not be deployed.

If you are reporting a problem, please make sure the following information are provided:
Expected behavior and actual behavior:
A clear and concise description of what you expected to happen and what's the actual behavior. If applicable, add screenshots to help explain your problem.
Steps to reproduce the problem:
Please provide the steps to reproduce this problem.
Versions:
Please specify the versions of following systems.

harbor operator version: [x.y.z]
harbor version: [x.y.z]
kubernetes version: [x.y.z]
Any additional relevant versions such as CertManager

Additional context:

Harbor dependent services:

Context info of postgreSQL
Context info of Redis
Context info of storage

Log files: Collect logs and attach them here if have.
Kubernetes: How Kubernetes access was provided (what cloud provider, service-account configuration, ...).

which MinIO operator version are you installed?

which version of MinIO operator are you installed?

My MinIO operator was installed by kubectl krew install minio and kubectl minio init.

duplicates https://github.com/goharbor/harbor-operator/issues/240


How to render single page at time with next/previous option using pdfjs-dist/web/pdf_viewer

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version: Chrome Version 107.0.5304.107
Operating system and its version: window 11 64bit
PDF.js version: "pdfjs-dist": "^2.0.943"
Is a browser extension: No

Steps to reproduce the problem:

Create a pdf render using pdfjs-dist/web/pdf_viewer
I am following the mobile-viewer example

What is the expected behavior?
Expected behavior is to render one page per view then on next render next page, instead of render all page in single view with scroll.
What went wrong?
All page is rendered in single view with scroll.
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

PDF.js version: "pdfjs-dist": "^2.0.943"

That version is four years old, please update to a supported release before reporting a bug or asking for help; please find the latest releases at https://mozilla.github.io/pdf.js/getting_started/#download

Expected behavior is to render one page per view then on next render next page, instead of render all page in single view with scroll.

See e.g. https://github.com/mozilla/pdf.js/blob/master/examples/components/singlepageviewer.js

@Snuffleupagus Thanks for the help, next time will take care to update to latest version. Thanks again.


AzureEventHub + AzureServiceBus - Updated batch size calculation

hi @snakefoot, should NLog.Extensions.AzureServiceBus also get a package bump with this?

I'm ok with no release of ServiceBus.


Make sure entities aren't created when using new merged geometries

it appears that building entities are being created?
Instead perhaps something like this?
https://github.com/3DStreet/osm4vr/commit/a866a968509a2c206d0ec1a8c16a1f1edccaa00b

Thanks, I've pushed https://github.com/ctrlw/osm4vr/commit/51b7dcdb to avoid this and clean up leftovers.
The mergeGeometries vs mergeBufferGeometries seems to be a dependency topic. In 979b918 I've added an (unversioned) dependency on BufferGeometryUtils, which apparently differs from the version you're using. Would the following help in addBuildings?
const mergeGeometries = THREE.BufferGeometryUtils.mergeBufferGeometries ? THREE.BufferGeometryUtils.mergeBufferGeometries : THREE.BufferGeometryUtils.mergeGeometries;
let geometry = mergeGeometries(geometries, false);


Sql::orderBy doesn't quote columns

I've this query which does not quote columns and then mysql retrieve an incorrect order. The table has timestamp column
$mapper->news->fetchAll(Sql::orderBy('timestamp', 'id')->desc()->limit($initial, $pageSize))

Resulting query:
SELECT news.* FROM news ORDER BY timestamp, id DESC LIMIT 0, 200

expected:
SELECT news.* FROM news ORDER BY `timestamp`, `id` DESC LIMIT 0, 200

Is there a way to instruct Sql to quote columns?

Actually, the real issue is that the order by should be :
ORDER BY `timestamp` DESC, `id` DESC

To solve this issue now you can use this ugly way:
Sql::orderBy('`timestamp` DESC','`id` DESC'); // ORDER BY `timestamp` DESC, `id` DESC

I'm seeing to improve this.
Something like:
Sql::orderBy(array('timestamp' => 'DESC', 'id' => 'DESC'));

I'm looking too for the identifier escape.

Unfortunately, quoting is dbms-specific. Each database has its own quoting model (for example, SQL Sever uses brackets to quote e.g. [column_name]).
The Sql class should be dbms independent, but you can extend it...
<?php
use Respect\Relational\Sql as RespectSql;
/**
 * The SQL dialect with extra statements
 */
class FooBarSql extends RespectSql
{
    /**
     * Method used to translate from php method calls to SQL instructions.
     * It is closely related to __call for the Respect\Relational\Sql class.
     */
    protected function build($operation, $parts)
    {
        switch ($operation) {
            case 'orderBy':
                return $this->buildParts($parts, '`%s` ');
            default:
                return parent::build($operation, $parts);
        }
    }
}

... and then use it on your Mapper or Db instance:
<?php
$pdo = new PDO(/* your own PDO config */);
$sqlPrototype = new FooBarSql(); // The class we've extended before
$db = new \Respect\Relational\Db($pdo, $sqlPrototype);
$mapper = new \Respect\Relational\Mapper($db);

Both the Mapper and the Db classes will now use the $sqlPrototype instance as a blueprint for building query expressions. When using them outside the Mapper or Db, you'll need to address it like FooBarSql::orderBy.
I've used this technique before to make Respect\Relational support CREATE TABLE instructions. You can find the implementation here for reference.


docs(dspy): Fixed docstring for OpenAI having wrong default model

📝 Changes Description
I noticed that the docstring for OpenAI says that the default model value is davinci. However, the default value of the parameter in code is GT3 turbo instruct, which looks more reasonable.
I suspect the default changed a while ago and someone forgot to change the docstring.
This MR/PR contains the following changes:

New docstring value for the model property of OpenAI and AzureOpenAI classes

⚠ Warnings
Exactly because of these things (changing the parameter default value and forgetting to update the docs), I would consider not writing the default value in the docs at all. The IDE (I checked VS Code) anyway shows the available parameters and their default values, in addition to the docstring. So best case - it's written twice. Worst case - it's written twice AND one is incorrect.

LGTM


Incompatible With Iris

When using FerriteCore and Iris, CPU usage is 100% and the loading screen keeps appearing and disappearing when starting the game
latest.log
I couldn't upload the entire latest.log as it was 49 MB

It's actually Sodium and not Iris that's incompatible as far as I can tell, I'll fix this later today.

I should probably mention this: With a reasonably recent build of sodium (anything after June 15th) you can safely use the previous build of FerriteCore, Sdoium also has a fix for #24.

1.16.5: https://modrinth.com/mod/ferrite-core/version/2XHUVaPQ
1.17.1: https://modrinth.com/mod/ferrite-core/version/HjttFjoa
CurseForge is down right now, I'll upload the builds there (and the corresponding Forge build) tomorrow, assuming it's back then.

CurseForge is down right now, I'll upload the builds there (and the corresponding Forge build) tomorrow, assuming it's back then.

Of course it is, when is it not?


CJA features not supported in AA

Could we add a section that lists features available in Customer Journey Analytics that are not available in Adobe Analytics?  Users may come to this part of the documentation from the point of view of "if I migrate to, or add CJA, what could I do, that I can't do in AA".

This is now on our list of things to do. Expect resolution within a month or 2.

See these pages for a start:
https://experienceleague.adobe.com/docs/analytics-platform/using/cja-overview/cja-overview.html?lang=en
https://experienceleague.adobe.com/docs/analytics-platform/using/cja-dataviews/data-views.html?lang=en

We have added this section: https://experienceleague.adobe.com/docs/analytics-platform/using/compare-aa-cja/cja-aa-comparison/cja-aa.html?lang=en#cja-features-not-available-in-adobe-analytics


Having trouble with Cube Animator w/ programmatic cells

Hi.
The layout looks broken when using a cell programmatically. What am I missing? What could be different between the configuration of the cell in the Sample project in the storyboard and my own?
I narrowed the problem down to cell configuration because if I copy the Sample project's storyboard and viewControllers, I am about to successfully display and scroll the collectionview. As soon as I replace the Sample cell with my own, it fails.
I tore down the cell to the bare minimum
class MyCustomCell: UICollectionViewCell {
  // nothing
}

and still, I get something like:

I'm on v 1.10, using SwiftPM, testing on iPhone SE Simulator iOS 13.5 And 14.
I'm just trying to test out a full screen collectionview exactly like the sample project, only programmatic, and using my own cell.

I am also able to reproduce this by taking the sample project, removing the prototype cell, and replacing it with my own cell. As soon as I use the custom cell, like the one above, the layout breaks. Any idea what could be so different between the storyboard and programmatic setup?

The only thing I can think of is the clipsToBounds settings on either the cell or the contentView. Can you upload a sample project to reproduce this?

Hi @KelvinJin , thank you for the quick response. I've attached a project that demonstrates this. All I've done is take the sample project from the repo, remove the prototype cell from the storyboard, and modified it slightly to work programmatically instead.
programmaticCellExample.zip

Hi @KelvinJin
I am facing a similar problem
I confirmed the trouble of cube animation on iOS13.7 (iPhone11 Simulator)
It seems to occur when UIButton / UIImage is placed in cell and the value is changed every time it is reused.
Does not occur with UILabel
I also put a sample project
("iOS Example" has been changed)
Please confirm
AnimatedCollectionViewLayout-master.zip

@GalCohen @kazuteru Sorry for the late reply guys.
This issue has been giving me some hard time 😢
What I found out is that I broke this with the latest update. I can't figure out what exactly are different between programmatically created cell and the one created in Interface Builder. But my update fixed similar issue that's happening on the IB created while introduced the issue to the programmatic one 🤯
Now the proper way to fix this is to figure out what are the differences and try to workaround both cases at the same time.
At the mean time, please either

downgrade to use 1.0.1 if you only have programmatically created cells.
or use the following modified animator for your programmatically created cells while using the normal cube animator for IB created cells.

Again, thanks for reporting this issue!
/// An animator that applies a cube transition effect when you scroll.
public struct CubeAttributesAnimatorForProgrammaticCell: LayoutAttributesAnimator {
    /// The perspective that will be applied to the cells. Must be negative. -1/500 by default.
    /// Recommended range [-1/2000, -1/200].
    public var perspective: CGFloat

    /// The higher the angle is, the _steeper_ the cell would be when transforming.
    public var totalAngle: CGFloat

    public init(perspective: CGFloat = -1 / 500, totalAngle: CGFloat = .pi / 2) {
        self.perspective = perspective
        self.totalAngle = totalAngle
    }

    public func animate(collectionView: UICollectionView, attributes: AnimatedCollectionViewLayoutAttributes) {
        let position = attributes.middleOffset
        if abs(position) >= 1 {
            attributes.contentView?.layer.transform = CATransform3DIdentity
            attributes.contentView?.keepCenterAndApplyAnchorPoint(CGPoint(x: 0.5, y: 0.5))
        } else if attributes.scrollDirection == .horizontal {
            let rotateAngle = totalAngle * position
            var transform = CATransform3DIdentity
            transform.m34 = perspective
            transform = CATransform3DRotate(transform, rotateAngle, 0, 1, 0)

            attributes.contentView?.layer.transform = transform
            attributes.contentView?.keepCenterAndApplyAnchorPoint(CGPoint(x: position > 0 ? 0 : 1, y: 0.5))
        } else {
            let rotateAngle = totalAngle * position
            var transform = CATransform3DIdentity
            transform.m34 = perspective
            transform = CATransform3DRotate(transform, rotateAngle, -1, 0, 0)

            attributes.contentView?.layer.transform = transform
            attributes.contentView?.keepCenterAndApplyAnchorPoint(CGPoint(x: 0.5, y: position > 0 ? 0 : 1))
        }
    }
}

extension UIView {
     func keepCenterAndApplyAnchorPoint(_ point: CGPoint) {

         guard layer.anchorPoint != point else { return }

         var newPoint = CGPoint(x: bounds.size.width * point.x, y: bounds.size.height * point.y)
         var oldPoint = CGPoint(x: bounds.size.width * layer.anchorPoint.x, y: bounds.size.height * layer.anchorPoint.y)

         newPoint = newPoint.applying(transform)
         oldPoint = oldPoint.applying(transform)

         var c = layer.position
         c.x -= oldPoint.x
         c.x += newPoint.x

         c.y -= oldPoint.y
         c.y += newPoint.y

         layer.position = c
         layer.anchorPoint = point
     }
 }

I spent a few hours on this with no luck. Thanks for taking the time to investigate and suggesting some fixes. Really appreciate the work!

@GalCohen @KelvinJin
use autoLayout
    override init(frame: CGRect) {
        super.init(frame: frame)
        contentView.translatesAutoresizingMaskIntoConstraints = false
        contentView.topAnchor.constraint(equalTo: topAnchor).isActive = true
        contentView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
        contentView.leftAnchor.constraint(equalTo: leftAnchor).isActive = true
        contentView.rightAnchor.constraint(equalTo: rightAnchor).isActive = true
    }

@KelvinJin
iOS 14 programmatically created cells will reset Origin （changed by anchor）
You can try to optimize your code in the following ways
else if attributes.scrollDirection == .horizontal {
            let rotateAngle = totalAngle * position
            let anchorPoint = CGPoint(x: position > 0 ? 0 : 1, y: 0.5)

            // As soon as we changed anchor point, we'll need to either update frame/position
            // or transform to offset the position change. frame doesn't work for iOS 14 any
            // more so we'll use transform.
            let anchorPointOffsetValue = contentView.layer.bounds.width / 2
            let anchorPointOffset = position > 0 ? -anchorPointOffsetValue : anchorPointOffsetValue
            var transform = CATransform3DMakeTranslation(anchorPointOffset, 0, 0)
            contentView.layer.anchorPoint = anchorPoint

            if #available(iOS 14, *) {
                if contentView.translatesAutoresizingMaskIntoConstraints == true {
                    // not use transformX/Y
                    transform = CATransform3DMakeTranslation(0, 0, 0)
                    // reset origin
                    var frame = attributes.frame
                    frame.origin = .zero
                    contentView.frame = frame
                }
            }
            transform.m34 = perspective

            transform = CATransform3DRotate(transform, rotateAngle, 0, 1, 0)
            contentView.layer.transform = transform

        }

extension UIView {
func keepCenterAndApplyAnchorPoint(_ point: CGPoint) {
     guard layer.anchorPoint != point else { return }

     var newPoint = CGPoint(x: bounds.size.width * point.x, y: bounds.size.height * point.y)
     var oldPoint = CGPoint(x: bounds.size.width * layer.anchorPoint.x, y: bounds.size.height * layer.anchorPoint.y)

     newPoint = newPoint.applying(transform)
     oldPoint = oldPoint.applying(transform)

     var c = layer.position
     c.x -= oldPoint.x
     c.x += newPoint.x

     c.y -= oldPoint.y
     c.y += newPoint.y

     layer.position = c
     layer.anchorPoint = point
 }

}

Works for most devices, but not work for iPhone 7 Plus(iOS 13.6), or iPhone 11 sometimes.

try to add checking for rotation in this place:
if abs(position) >= 1 || rotateAngle == 0 {
contentView.layer.transform = CATransform3DIdentity
contentView.layer.anchorPoint = CGPoint(x: 0.5, y: 0.5)
} else { ...

@HimmaHorde you saved my day🥳, thank you!


Links have been removed - incomplete article - SCANNING

[Enter feedback here]
The links have been removed in the scanning section of this document. Can the wording be changed or the documentation updated.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 22f08a57-d8a0-86d8-d81e-b1d8d6c34644
Version Independent ID: 024af5b6-c33b-d571-1bdb-4a2934432984
Content: Mover Migration Tools overview and planning - Migrate to SharePoint and OneDrive
Content Source: migration/mover-plan-migration.md
Service: sharepoint-online
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

@heymybru Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@heymybru thank you for pointing this out. Does this look like a link to be added - https://docs.microsoft.com/sharepointmigration/mover-running-migration

Yes this is exactly what I expecting
On Thu, Oct 29, 2020 at 2:51 PM Lindsay<EMAIL_ADDRESS>wrote:

@heymybru https://github.com/heymybru thank you for pointing this out.
Does this look like a link to be added -
https://docs.microsoft.com/sharepointmigration/mover-running-migration
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/issues/2381#issuecomment-718805287,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMXUEEUQA66NZU44UBYT5YLSNF6QDANCNFSM4SS7POZQ
.

@heymybru  Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Create AnimalLabels.yml

source: https://github.com/errata-ai/proselint/blob/master/proselint/AnimalLabels.yml

Linting with vale failure on empty input is a know bug: see https://github.com/errata-ai/vale-action/issues/39.


Executing GET /device/{id} endpoint more than one time results in null fields ins results

There is some issue at least with GET /device/{id} endpoint (other may be also affected).
When I call it first time I get a result with device and it's network and class information.
{
    "id": "test-device-2",
    "name": "test-device-2",
    "status": null,
    "data": null,
    "network": {
      "id": 2,
      "key": null,
      "name": "Sample network for<EMAIL_ADDRESS>      "description": "Playground Network"
    },
    "deviceClass": {
      "id": 14,
      "name": "default device",
      "version": "1.0",
      "isPermanent": false,
      "offlineTimeout": null,
      "data": null,
      "equipment": []
    },
    "isBlocked": null
  }

All the subsequent calls result in an empty data fields:
{
  "id": "test-device-2",
  "name": "test-device-2",
  "status": null,
  "data": null,
  "network": {
    "id": null,
    "key": null,
    "name": null,
    "description": null
  },
  "deviceClass": {
    "id": null,
    "name": null,
    "version": null,
    "isPermanent": null,
    "offlineTimeout": null,
    "data": null,
    "equipment": null
  },
  "isBlocked": null
}

Perhaps this is something related to lazy load or data caching.
Here's the request I used for this test.
curl -X GET --header "Accept: application/json" --header "Authorization: Bearer hS5FpwGULLGo9wjodccZUUGaexiuvlmJ4SAE7Dyx9QI=" "http://playground.devicehive.com/api/rest/device/test-device-2"

After short investigation. Problem affects users / sessions used key auth to access device hive.

deployed to playground.devicehive.com


Interacting with smart contract

is there any example of interacting with smart contract in this scaffold?

While the dapp-scaffold repository doesn't appear to have a direct example of smart contract interaction, it's designed as a starting point for building Solana dApps. To interact with a smart contract on Solana, you would typically:
1.Set up a connection to a Solana cluster (mainnet, devnet, or testnet).
2. Create or import a wallet.
3. Use the @solana/web3.js library to create and send transactions.
4. If working with SPL tokens, you might also use the @solana/spl-token library.
import { Connection, PublicKey, Transaction, sendAndConfirmTransaction } from<EMAIL_ADDRESS>import { Program, Provider, web3 } from '@project-serum/anchor';
// Function to interact with the smart contract
async function interactWithSmartContract() {
// Initialize connection to Solana devnet
const connection = new Connection('https://api.devnet.solana.com', 'confirmed');
// Create a wallet instance (assuming you already have a keypair)
const wallet = new web3.Keypair();
// Create a provider
const provider = new Provider(connection, wallet, { commitment: 'confirmed' });
// Your smart contract program ID
const programId = new PublicKey('YOUR_PROGRAM_ID_HERE');
// Create a program instance
const program = new Program(idl, programId, provider);
try {
// Call a function in the smart contract
const tx = await program.rpc.yourSmartContractFunction({
accounts: {
// List of accounts required by the smart contract function
},
});
console.log('Transaction successful:', tx);

} catch (error) {
console.error('Error:', error);
}
}
// Call the function
interactWithSmartContract();

We import the necessary libraries.
Create a connection to the Solana devnet.
Create a wallet instance (in this example using a new keypair, but you could use an existing wallet).
Create a provider that combines the connection and wallet.
Specify the smart contract program ID.
Create a program instance using Anchor (assuming you're using Anchor for the smart contract).
Call a function in the smart contract using program.rpc.yourSmartContractFunction().


How to expose all fields by default?

Hey. Is there a way to expose all fields by default, and only unexpose certain ones? For example, suppose I have a User class that I want to present, but I don't want to show the hashed password field. I don't see it in the docs, but it's possible I missed something.

Not possible today. Generally the library encourages explicit declaration of all fields being exposed, to avoid side effects or other automatic behavior. You can definitely implement a helper that iterates through fields and calls expose on them, that's something that could be possibly useful here, I'll keep it open.


Update http4s-ember-server to 0.21.24

Updates org.http4s:http4s-ember-server from 0.21.14 to 0.21.24.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s", artifactId = "http4s-ember-server" } ]

labels: library-update, semver-patch

Superseded by #42.


[Feature Request/QOL] Freeze Column Headers when scrolling

As it says is there a way to freeze the column headers on the tabs like fuel, kind like excel does so they are always visible even when you are scrolling down several hundred rows.
https://github.com/hargata/lubelog/assets/83042153/5f897892-e8b8-47d9-ae52-762bedaa1bf9

Added, released.

Works great thank you for the fix


deprecate AWS Landsat8 Collection 1

Ref https://lists.osgeo.org/mailman/listinfo/landsat-pds

All, in case you have not see it, you should look over the recent announcement from USGS related to Collection 2 and its availability on AWS.

https://www.usgs.gov/news/usgs-releases-most-advanced-landsat-archive-date
https://www.usgs.gov/core-science-systems/nli/landsat/landsat-commercial-cloud-data-access

First of all, I just want to say how awesome this is! Planet has been managing the dataset on AWS from the beginning and through their work and all of your demonstrated use cases, USGS saw the value of making the data available in a new format via a fundamentally new distribution mechanism (though their existing distribution mechanisms still remain if you’re looking for that).

Since there is now an S3 bucket with Collection 2 data, the full archive and owned directly by USGS, I am proposing that we deprecate the existing landsat-pds bucket. I know that a number of you have come to depend on the landsat-pds bucket and I want to be sensitive to that, so I am proposing a 6 month deprecation period which would put us at an end date (bucket deleted) of July 1, 2021.

The USGS is making the data available in COG format with STAC metadata. There are some prefix changes from landsat-pds and of course the science updates for Collection 2 and the data is being made available in a Requester Pays S3 bucket (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html). There is currently no SNS topic available for new data, but I believe a few of us have reached out to USGS about that.

I want to note that this data is owned and managed by USGS, AWS has no control over the data or the bucket. However, I am happy to help anyone work through the implications of switching their workloads to the USGS bucket rather than the landsat-pds bucket.

Also, I want to give a huge thank you to Amit who has managed this resource for the community for the past several years!

I’ll be out for the new two weeks so you might see an OOO response if you reach out to me, but I will look to answer when I am back in the office.

Thanks everyone and hope you are staying safe.

Joe Flasher

Maybe good to have a deprecation warning when you instantiate the L8Reader, along with a message of how to turn it off.

Maybe good to have a deprecation warning when you instantiate the L8Reader, along with a message of how to turn it off.

Closed by #48

We can close this soon!!

👋


Proper usage of multiple canvases

My use case: The main component of my application is handled in Pixi. I'd like to implement the UI using the DOM, which should be overlaid on top of the main application, but some UI elements contain dynamically rendered images which I would like to handle with Pixi. I'm considering handling this my using multiple canvases (one for the main portion of the app, and one for each UI image, or at least set of UI images). This brings up a couple questions:

Does this make sense in the first place?
How specifically should I go about doing this? Do I have one Pixi.Application per canvas? Couldn't that cause a "Too many active WebGL contexts" issue (and is there a way to work around that if so)?
Will this have significant performance impacts? Is there a method I should use in order to bring performance impacts to a viable level?

I have looked at #82 and #4327, but neither directly/completely address my question

Just realized I could use PIXI.extract.WebGLExtract.base64 to resolve this case, though still curious how multiple canvases are typically handled

That’s what we currently do, and honestly it’s a bit of a mess. The layout code is awkward, and some things have to be rendered in the dim anyways (text inputs, some legacy content stored on the server, etc) so it creates a bunch of layering/masking issues on top of that.
Having some sort of XML-based UI layout description or such (a la WPF, JavaFX, etc) would help I guess, but the fact that some elements have to be in HTML still makes it a bit awkward

Yes, rendering UI in pixi is currently non-trivial. And using extract to copy pixels out of a framebuffer, convert them to a string, convert that to pixels, and upload it to the gpu again under a different context is slow.
Unfortunately those are currently the tradeoffs you have.
As to your other questions:

How specifically should I go about doing this? Do I have one Pixi.Application per canvas?

You can have 0 PIXI.Application instances if you want to, it is just a helper. Completely up to you how to manage this. Application is just a container that creates a Renderer, Container, and starts a ticker for you. You need one WebGLRenderer per canvas, but if you use PIXI.Application to make it or make it yourself is up to you.

Couldn't that cause a "Too many active WebGL contexts" issue (and is there a way to work around that if so)?

Yes, creating multiple WebGLRenderers can (and often will) cause this error. Creating 2 for the lifetime of the page is probably OK. If you destroy and create more though that is where you get into trouble.

Will this have significant performance impacts?

Having two renderers won't negatively affect performance on PC, but might have some impact on mobile. Always measure.
If you only have one renderer and use the extract method, then yes that will be very slow. Reading back from the GPU is slow, serializing to a string is slow, deserializing from a string is slow, and uploading to the GPU is slow. Doing them all is very slow.

Is there a method I should use in order to bring performance impacts to a viable level?

If you must have multiple renderers the best way will be for them to each have their own scene that they render. Don't render in one and copy it to the other, but instead just have two WebGLRenderers, each with a separate scene graph. You should be able to share PIXI.Texture and PIXI.BaseTexture objects between them, we do support resources being used in multiple renderers. But WebGL doesn't support a resource being shared between contexts, so internally we have to create a backing WebGL texture for each Renderer and upload the texture data for each one. This can cause increased GPU memory usage, and potentially texture swapping if there are many textures.

All very useful information, and makes a lot of sense - thank you!
Per the extract method, there'd be maybe a series of at a maximum 8 extractions happening on a user-initiated event, so it's not running per tick at least - not sure how slow is slow in that context, but that's always something that can be tested. This isn't something that could be done in a worker could it?
Might be interesting to look into using XML for generating a scene graph. Is this something that would be interesting for Pixi proper, or nah?

I know this is stale but as a time traveler what is the state of what happened in this discussion now? Can Pixi solve this nowadays? Are the workers still restricted?

I'd open a new thread for discussion :)

Yes, rendering UI in pixi is currently non-trivial. And using extract to copy pixels out of a framebuffer, convert them to a string, convert that to pixels, and upload it to the gpu again under a different context is slow.
Unfortunately those are currently the tradeoffs you have.
As to your other questions:

How specifically should I go about doing this? Do I have one Pixi.Application per canvas?

You can have 0 PIXI.Application instances if you want to, it is just a helper. Completely up to you how to manage this. Application is just a container that creates a Renderer, Container, and starts a ticker for you. You need one WebGLRenderer per canvas, but if you use PIXI.Application to make it or make it yourself is up to you.

Couldn't that cause a "Too many active WebGL contexts" issue (and is there a way to work around that if so)?

Yes, creating multiple WebGLRenderers can (and often will) cause this error. Creating 2 for the lifetime of the page is probably OK. If you destroy and create more though that is where you get into trouble. The browser has a cap to how many contexts you can create, and it controls when old contexts are free. We do everything we can to tell the browser to free a context when you destroy a renderer, but at the end of the day we can't make it do it.

Will this have significant performance impacts?

Having two renderers will probably not negatively affect perceived performance on PC, but might have some impact on mobile. Always measure.
If you only have one renderer and use the extract method, then yes that will be very slow. Reading back from the GPU is slow, serializing to a string is slow, deserializing from a string is slow, and uploading to the GPU is slow. Doing them all is very slow.

Is there a method I should use in order to bring performance impacts to a viable level?

If you must have multiple renderers the best way will be for them to each have their own scene that they render. Don't render in one and copy it to the other, but instead just have two WebGLRenderers, each with a separate scene graph. You should be able to share PIXI.Texture and PIXI.BaseTexture objects between them, we do support resources being used in multiple renderers. But WebGL doesn't support a resource being shared between contexts, so internally we have to create a backing WebGL texture for each Renderer and upload the texture data for each one. This can cause increased GPU memory usage, and potentially texture swapping if there are many textures.

Thanks for such a good explanation!

@englercj Thanks for good explanation in 2018.
I experienced the same problem with WebGL. Currently the browser limit is 16 contexts, but this number may differ from version, platform, and browser. I solved this problem by running forceCanvas. Canvas has no such limitations as it doesn't work with GPU, but creating more than 5-10 contexts is too much in my case and i have performance issues.

We have sorted this out by using 1 canvas and extending PIXI to make special containers which are tracing specific html elements. In general we were passing the bounds of the DOM elements to those containers and then changing their Y position on scroll. So something like this -> container.position.y = domElementbounds.top + scrollTop. Of couse there is a lot of code around it, but it could be a good starting point for everyone who are wondering how to achieve that ;)
You can see it in action here https://synchronized.studio/


feat(#1512): TOC improvement in Documentation

See #1543 and #1512
This PR changed TOC vertical padding and includes textual ellipsis

built docs: https://rubrix.readthedocs.io/en/docs-toc_improvement/


Unable to build armeabi-v7a with min API 16

While preparing release v0.21.7, I noticed that when building for the armeabi-v7a target, I get the following error,
ouinet/android/ouinet/src/main/java/ie/equalit/ouinet/OuinetBackground.kt:230: Error: Call requires API level 19 (current min is 16): android.app.ActivityManager#clearApplicationUserData [NewApi]
            am.clearApplicationUserData()
               ~~~~~~~~~~~~~~~~~~~~~~~~

Lint found errors in the project; aborting build.

Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
    lintOptions {
        abortOnError false
    }
}
...

FAILURE: Build failed with an exception.

It seems that this clearApplicationUserData method added as part of #60 isn't supported before API level 19, but the min level for the armeabi-v7a build is 16.
@mhqz, how would you like me to resolve this? Should I just move the min API up to 19? I'm not sure that anyone is building an application with Ouinet that has a min API lower than 19 (Ceno's min API is 21). What's more, the min APIs for all the other ABIs is 21, so maybe we could just make them all the same.
Or should I come up with a work around to avoid calling this method in older android versions?

how would you like me to resolve this? Should I just move the min API up to 19?

Yes, it's safe to move the min API to 19 for armeabi-v7a and for x86 (to have a test build using the same API in the emulated images).

I'm not sure that anyone is building an application with Ouinet that has a min API lower than 19 (Ceno's min API is 21).

I've checked the current integrations and Fennec was the only one still supporting 16, so now that Ceno v2 is using 21 it's okay to sync Ouinet API versions to it.


Extension API

I'm updating a package (https://github.com/arikrupnik/fountainhead) to work with the newer MD Extension API, and I'm failing to recreate the behavior that worked in v2. I read #179 and #811 and I'm still missing something very obvious.
The language I'm processing if similar to MD in spirit, but is different enough that I want to remove all inline processors and then rebuild that registry from scratch. In v2, I achieved this with md.inlinePatterns.clear() in extendMarkdown(self, md, md_globals)
In v3.1.1, I tried replacing the inlinePatterns registry altogether, and deregistering specific patterns,. Neither of which has any effect; default patterns continue to trigger, e.g., interpreting * as :
class BlankSlate(markdown.extensions.Extension):
    def extendMarkdown(self, md):
        md.inlinePatterns = markdown.util.Registry()

class NoEm(markdown.extensions.Extension):
    def extendMarkdown(self, md):
        md.inlinePatterns.deregister("em_strong")

def test_blank_slate():
    m = markdown.Markdown(extensions=[BlankSlate()])
    assert m.convert("text with *asterisks* and without") == \
        "
text with *asterisks* and without
"

def test_no_em():
    m = markdown.Markdown(extensions=[NoEm()])
    assert m.convert("text with *asterisks* and without") == \
        "
text with *asterisks* and without
"

pytest output:
E         -
text with asterisks and without

E         ?              ^^^^         ^^^^^
E         +
text with *asterisks* and without

E         ?              ^         ^

I've also tried the nuclear option that #811 discusses (deriving from markdown.Markdown and overriding build_parser). It works, but seems a bit heavy-handed.
There must be something very very simple I'm overlooking. I'm wotking with v3.1.1 from ubuntu pyton-markdown:
Package: python-markdown
Architecture: all
Version: 3.1.1-2

I've also tried the nuclear option that #811 discusses (deriving from markdown.Markdown and overriding build_parser).

This is the only option I would try. This is also why we don't offer a "deregister all" or "clear" option. You should be subclassing instead. As an added bonus, you would not need to deal with the changes described below.
You report that you are using Markdown version 3.1. We just released 3.2 the other day, which significantly simplified the inline processors (see #805). I suspect you are browsing the source here on GitHub for version 3.2, but are trying to work with 3.1 code. Prior to 3.2 em_strong only handled triple asterisks (***strongem*** or ***em*strong**, but not ***strong**em* which was under the name strong_em). For <3.2 you would probably want to deregister all of the patterns defined here:
https://github.com/Python-Markdown/markdown/blob/58b4d64db00ef50c090a9da4bc303c5e840c5c9f/markdown/inlinepatterns.py#L94-L99
Needless to say, 3.2 it is much simpler as you only need to deregister one pattern to remove support for asterisk based syntax and a second (em_strong2) for underscores. Fortunately, your code can work in both versions as the deregister method includes a strict argument. Set it to False and it will not raise an error when attempting to deregister a non-existent pattern. Like this:
md.inlinePatterns.deregister("em_strong")  # this will succeed in >=3.0
md.inlinePatterns.deregister("em_strong2", strict=False) # this will fail silently in >=3.2
md.inlinePatterns.deregister("strong_em", strict=False)  # this will fail silently in <3.2

Of course, you may need to deregister a few more depending on what you want to accomplish.

Waylan, thank you for your fast and informative response!

I suspect you are browsing the source here on GitHub for version 3.2, but are trying to work with 3.1 code.

Yes, this is exactly what happened! This works as expected in 3.1:
    def extendMarkdown(self, md):
        md.inlinePatterns.deregister("emphasis")

We just released 3.2 the other day, which significantly simplified the inline processors (see #805).

Am I correct assuming that only the specific em_strong and em_strong2 processors changed, but the general API for constructing SimpleTagInlineProcessors remains the same?

(deriving from markdown.Markdown and overriding build_parser).

This is the only option I would try.

That's what I'm going to go with then. Anything I need to be aware of in terms of version changes in build_parser()?

Of course, you may need to deregister a few more depending on what you want to accomplish.

I more or less have to start from scratch with inlines. Fountain uses underscores for underline and other oddities, plus I'm outputting XML rather than XHTML, so all the element names are different from default MD.

Am I correct assuming that only the specific em_strong and em_strong2 processors changed, but the general API for constructing SimpleTagInlineProcessors remains the same?

Yes. The changes are summarized well in the release notes. We simply condensed 5 inline processors into 2 and made no other changes. Changes in version 3.0 allowed this to happen. We just didn't get to it until now.

Anything I need to be aware of in terms of version changes in build_parser()?

No, that has been stable for years.

Thank you! Your support is outstanding.


error on boot

I get this error on boot. The only solution seems to be to ininstall and reinstall the .deb package
I'm on Linux Mint Cinnamon 17.3 64 bit
A JavaScript error occurred in the main process
Uncaught Exception:
TypeError: Cannot read property 'minTray' of undefined
    at Object.<anonymous> (/usr/local/bin/discord-linux-x64/resources/app/main.js:22:17)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Object.<anonymous> (/usr/local/bin/discord-linux-x64/resources/atom.asar/browser/lib/init.js:123:10)
    at Object.<anonymous> (/usr/local/bin/discord-linux-x64/resources/atom.asar/browser/lib/init.js:125:4)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)

Yours is breaking because there is supposed to be an init.json file at [install dir]/resources/app/init.json, it looks like it can't find it for some reason. Probably because the application didn't close properly, or because of incorrect permissions.
This is a problem because that directory is usually somewhere owned by root, and we don't really want a simple configuration json somewhere that's owned by root.
This should be moved to ~/.config/Discord/ whenever @XNBlank or I find the time.

Should be fixed with #18.

This has been fixed.


CSS is not inserted into HTML when using HTML5 boilerplate

The toolbar's CSS file isn't injected into the template when using the HTML5 boilerplate <html> element:
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

I would submit a pull request but I can't seem to find where this is being done.

I don't think the opening  tag should matter.  It is looking for the  to figure out where to insert the HTML:
https://github.com/mgood/flask-debugtoolbar/blob/master/flask_debugtoolbar/__init__.py#L174
What does the end of your html template look like?

This is the whole template:
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="description" content="{% block meta_description %}Description{% endblock %}">
  <meta name="author" content="{% block meta_author %}Author{% endblock %}">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <title>Simple App</title>
</head>
<body>
  {{ content }}
</body>
</html>

Actually, it seems to be a JavaScript problem when using that template:
Uncaught Error: HIERARCHY_REQUEST_ERR: DOM Exception 3
    (anonymous function)    :5000/_debug_toolbar/static/js/toolbar.js:14
    (anonymous function)    :5000/_debug_toolbar/static/js/toolbar.js:16

Yeah, ok it looks like there's a bug in the way the toolbar.js tries to conditionally inject the jQuery script (to avoid conflicting with another version on the same page).  I'll look into the right way to handle this.