Sending an email to self results in SMTP Error (454): Authentication Failed

maillog shows:
postfix/submission/smtpd[2529]: cannot load Certificate Authority data: disabling TLS support.
my chain.pem is empty
Looking at start.sh
315: cat $certificate_path > $fullchain_path
When I copied my cert.pem to chain.pem, it started working.

maillog is however is also still showing
starttls: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits new) no authentication
even though it works, not sure if I should be concerned.

maillog is also showing
amavis[938]: (00938-01) (!)connect to /var/spool/amavisd/clamd.sock failed, attempt #1: Can't connect to a UNIX socket /var/spool/amavisd/clamd.sock: 111
amavis[938]: (00938-01) (!)connect to /var/spool/amavisd/clamd.sock failed, attempt #1: Can't connect to a UNIX socket /var/spool/amavisd/clamd.sock: Connection refused

Fixed, thanks for your reports!


Offset Paginator

Q
A

Is bugfix?
✔

New feature?
✔

Breaks BC?
✔ (some PaginatorInterface's methods now return self)

Tests pass?
✔

Added OffsetPaginatorInterface. Because the OffsetPaginator is final.
Some changes in the PaginatorInterface. Not sure if this is a useful change.
OffsetPaginator refactored:

Cleanup and fixes
The Paginator now throws PaginatorException in read(), isOnLastPage() and getCurrentPageSize() methods when a CurentPage greater than a pages count
Removed data cache from the Paginator. Now caching should by in a DataReader
I also accept suggestions for renaming new methods (list of new methods you can see in the OffsetPaginatorInterface)
more tests

@roxblnfk why did you add cache back?
It looks like it doesn't cache anything. What's the secret?

@roxblnfk why did you add cache back?
It looks like it doesn't cache anything. What's the secret?

Only the instance of DataReader is cached when we call the read() function
This allows us to successfully use the cache in the DataReader

But we can use the cache without it directly in readers.

But we can use the cache without it directly in readers.

This way is very difficult. Because for each call of read() method the Paginator will generate new DataReader object using immutable methods

This allows us to successfully use the cache in the DataReader

The current implementation (DataReader Interface) is not supported caching mechanism. I prefer to use the pagination layer to caching for prevent repeated read from data reader.

The current implementation (DataReader Interface) is not supported caching mechanism.

The task of the paginator is to tell the DataReader what from position  to read and how much. If the DataReader reads from an array, then caching in the Paginator will be redundant.
If you use the same DataReader in different Paginators, then the DataReader will be more successful in caching (for example, the total items count).
The DataReader knows better where he is reading from and whether to use caching.

If we will return caching in the Paginator, then here are some options I can offer:
1 Make an Interface for the DataReader who will mean that data caching is not necessary (either DataReader provides caching himself, or caching is just no need)
2 Make a second paginator with a cache inside. To do this, we will need to leave the OffsetPaginatorInterface (now it is planned to remove OffsetPaginatorInterface, because we have not convinced @samdark)

This way is very difficult. Because for each call of read() method the Paginator will generate new DataReader object using immutable methods

It can be simplified to the following algorith:

Someone calls read()
Paginator will check if the reader has been tuned with offsets/limits?
2.1. If yes then the paginator will use already tuned reader
2.2. If no then the paginator must adjust the reader and use it

Let's say now we have not the cachedReader, only have one dataReader. If it already configured then we need to return just $this->dataReader->read(). DataReader can check the cache and return already exists values.
Could I correctly express my thought?

It can be simplified to the following algorith:

Someone calls read()
Paginator will check if the reader has been tuned with offsets/limits?
2.1. If yes then the paginator will use already tuned reader
2.2. If no then the paginator must adjust the reader and use it

Let's say now we have not the cachedReader, only have one dataReader. If it already configured then we need to return just $this->dataReader->read(). DataReader can check the cache and return already exists values.

We cannot check if DataReader has been tuned. Yes, we can use some flag for this or we can do tuning DataReader in withPage() and withPageSize() methods.  But:
If we overwrite the original DataReader (from the constructor) with the configured one, we will receive an erroneous value when requesting the total number of records (getTotalItems() method). For this to work fine, it will be necessary to cache the total count of items along with the DataReader and pass it to the next Paginator instance when using immutable methods

Anyway, we will have to cache something

Merged. Please raise caching / interface concerns separately. Thanks.


Store non-rel wal records on pageservers

I have started implementation of first approach, adding support for pg_multixact, pg_xact, pg_filenode.map.
Them are updated at page_server when applying WAL and are included in tar file which is shipped to computation node at start.
We still have to include WAL in this tarball, although it is not strictly needed. I tried to generate dummy WAL using pg_resetwal utility, but it cause advancing LSN at compute node and so LSN mismatch between page_server and postgres.

I have changed RelTag class, moving forknum at the beginning of the  struct. It is needed to locate all pg_filenode.map files without traversing all page server database (it is <key,value>  database where key contains RelTag as prefix). So now ths pais will be first of all srted by fork number.
We are currently using special forknumber for non-rel files, i.e SRLU file, control file and pg_filenode.map files. I am not sure if it is the best solution, but other alternatives (suing special database/tablespace/relation ID seems to be even worse.
May be better solution is to add one more field: entity kind, i.e. relation, mxact_offset, mxact_members, clog, ...
But it requires rewriting a lot of code, so I am not filling ready for such massive changes without consultation and approval.

Hi @knizhnik / @lubennikovaav
When you have a chance can you provide following information:

general status update on this issue
any blockers?

I am asking because I noticed this issue is included in the v0.1 milestone and it looks like it hasn't been updated in awhile. Thank you

Initial version was merged and we created bunch of follow up issues with nonrel_wal tag: https://github.com/zenithdb/zenith/issues?q=is%3Aissue+is%3Aopen+label%3Anonrel_wal

So we can close that IMO


Additional info for helm2

Signed-off-by: Sajay Antony<EMAIL_ADDRESS>

@sajayantony : Thanks for your contribution! The author(s) have been notified to review your proposed change.

/cc @djyou


Increasing the size of the WebSocket

What is the motivation?
WebSocket only handles 1MB of data and I'm getting this error message sent 1009 (message too large); no closed frames received when I try to do a SELECT * FROM my_table when my_table had more than 1 MB of data.
Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[x] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

What does this change do?
These changes allow the user to specify what is the max size of the data that the WebSocket connection to the SurrealDB will be capable to handle.
What is your testing strategy?

Create a table on SurrealDB with more than 1 MB of data.
Run the script above, that start the connection to SurrealDB with a limit of 3 MB instead of the 1 MB default.

import asyncio
from surrealdb import Surreal

DB = Surreal()

async def main():
    await DB.connect("ws://localhost:8000/rpc", max_size=3000000)
    await DB.signin({"user": "root", "pass": "root"})
    await DB.use(database="test", namespace="test")

    try:
        data = await DB.select("tipi")
    except Exception as e:
        data = str(e)
    print(data)

if __name__ == '__main__':
    asyncio.run(main())

This script will print on the terminal all data from your table, but if you remove the max_size parameter from connect method the max size handle will be only 1 MB as default.
Is this related to any issues?
No
Have you read the Contributing Guidelines?

[x] I have read the Contributing Guidelines

Hi,
I noticed that the latest commit appears to be unrelated to the feedback I provided in my previous review. Please let me know if you have any questions about the feedback I provided or if you'd like any clarification on specific points.
I want to clarify that I don't have merge access and my initial review was offered from a personal standpoint to provide insights and suggestions.

Closing this pull-request as the latest codebase has now been significantly updated, now making use of a native Python with binary communication with remote databases, and support for embedded database usage. The native Python library now has support for custom types, including datetimes, durations, decimals, geojson types, Record IDs, ranges, and tables 🎉.


Deliver SQL table of test messages to customer

In the 2022-12-14 Sprint Review, the customer asked for a "view" of some kind (preferably SQL) of the test data that they have sent to us.  We should create a SQL table of Lyme/TBRD messages and a table of Hepatitis messages when the MMG-in-SQL work is closer to completion.  It will allow them to high level review the structure and actually compare what we have against their test messages.  They will be looking at error/warning information in reports as well, so we need to be on our game on that one.
Will email EDAV team to request Databricks AD group for the names provided to us by Lyme/Arbo/Hep programs.

We will provide the following tables:

Structure Validation Report
MMG Validaton Report
MMG Based table
Strech MMG-in-SQL Tables.

Will continue to work on MMG_in_SQL repeating tables next sprint


feat: Account Abstraction use cases

Explore potential Account chapter with example of simple accounts implementations, multicalls, sessions, keys, ...

I'll take this one


[HOLD for payment 2024-04-25] Android  - IOU - Unable to send money with user having no prior conversation

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.62
Reproducible in staging?: y
Reproducible in production?: n
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Tab fab-- send money
Enter an amount and tap next
In search enter an email id with no prior conversation and select it
Tap pay elsewhere

Expected Result:
For users without prior conversation history, tapping "Pay Elsewhere" should still allow them to send money seamlessly
Actual Result:
Unable to send money with user having no prior conversation
Workaround:
n/a
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/51c612a7-1a90-43e4-a2aa-11524b745777
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~014443720b96ea2053
Upwork Job ID:<PHONE_NUMBER>464167424
Last Price Increase: 2024-04-11

We think that this bug might be related to #vip-vsb

Proposal
Please re-state the problem that we are trying to solve in this issue.

Android - IOU - Unable to send money with user having no prior conversation

What is the root cause of that problem?

In case of new user, this condition will return true, leads to the function IOU.sendMoneyElsewhere is not called.

What changes do you think we should make in order to solve the problem?

We can remove !report from the above condition.
Then, update this to:

               IOU.sendMoneyElsewhere(report ?? {}, transaction.amount, currency, trimmedComment, currentUserPersonalDetails.accountID, participant);

We should fix other logics that are similar to IOU.sendMoneyElsewhere, such as IOU.sendMoneyWithWallet

What alternative solutions did you explore? (Optional)

NA

This issue also exists for the Request Money - Distance flow

Marking as internal to fix asap

CP build in progress

@Gonals could you please confirm on staging then check it off? thanks

Working on Staging!

Sent offer to @jjcoffee in Upwork - https://www.upwork.com/nx/wm/offer/102032170

@lschurr Accepted, thanks!

All set!


Multi Polygon issue

This issue is related to the already opened PR.
The thing is that geosjon can return multiple polygons nested inside one Polygon object. Here is an example:
{
  "type":"FeatureCollection",
  "features":[
    {
      "type":"Feature",
      "geometry":{
        "type":"GeometryCollection",
        "geometries":[
          {
            "type":"Polygon",
            "coordinates":[
              [...],
              [...],
              [...],
              [...]
            ]
          },
          {
            "type":"Polygon",
            "coordinates":[
              [...],
              [...]
            ]
          }
        ]
      }
    }
  ]
}

I've temporary fixed that in a way to check if coordinates array contains multiple subarrays, then I change type from Polygon to MutliPolygon
if geomCoordinates.count > 1 {
  geomType = "MultiPolygon"
}

Thanks @borut-t. I’m going to close this as a duplicate of #90.
Sent with GitHawk


Support for array parameters

Implementation of issue #146

Wow, I'll take a closer look later and merge..

Cool, thanks!


Prod enterprise install simplifications

Simplified prod install instructions.
A bit unsure if the git log changes will make tests fail..

Passed :)
A bit tight on time so will merge. Any review would be welcome after the fact though.


Problem#2

plan flag seems not to be working when placed in the room

hmm. Do you have the latest version of the code? I am assuming there aren’t any construction sites being created in
your current room

There is a recent update to automatically enable planning in your first room. The plan flag is also only run very infrequently, but I’ll make a ticket to a settings file so you can easily speed it up

yes,there aren't,but let me try getting the latest version of the code,hold on

got the latest code,still seems to be stuck when it comes to automatic building of stuff

wait,no,my bad,it works,it just takes a little bit of time to set up correctly


Primeapi: Linter code fixes to prime.yaml

Description
Cleaned up issues pointed out by the yaml linter

UpdatePaymentRequestStatus is not a definition used in the primeapi - deleted it
createdAt and updatedAt are readOnly values
According to OpenAPI 2.0 there should be a defined set of global tags, added these and noticed some cleanup that could be done
All other tag names are similar to paymentRequests --> paymentRequest
createUpload is specifically about payment requests so changed tag from upload --> paymentRequest

Reviewer notes
There should be no change in behavior (other than not being able to send in createdAt, updatedAt)
However the tag name changes changed some package names, so there's cleanup of the imports.
Most changes are related to create payment request and uploads so testing those would be great.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 0c6b2682edbbd73b4bdc5e22e6b21c8201acf9aa


Remove leak of entire variableContent on variable validation.

RELATED cosmo-issues-1182
Currently if a request fails variable validation via renderVariableRequiredNotProvidedError or renderVariableInvalidObjectTypeError the entire variable content is dumped onto the message which then makes it's way onto telemetry as statusMessage regardless of any compliance settings.
This is less then ideal from a compliance perspective because there may be sensitive information leaked that we have no reason to believe is malformed. It makes the complexity of adhering to PII regulations such as PCI more challenging.
A simple solution would be to simply remove the variable content from the message. I would be more then happy to make this change and update relevant tests if y'all believe this is worthwhile.
I see there is also already a secondary mechanism on Cosmo by which you could add export variables as trace attributes (TRACING_EXPORT_GRAPHQL_VARIABLES) so I believe this change has very limited demerits.
Proposed change
func (v *variablesVisitor) renderVariableInvalidObjectTypeError(typeName []byte, variablesNode astjson.Node) {
	out := &bytes.Buffer{}
	err := v.variables.PrintNode(variablesNode, out)
	if err != nil {
		v.err = err
		return
	}
	v.err = &InvalidVariableError{
		Message: fmt.Sprintf(`Variable "$%s" got invalid value; Expected type "%s" to be an object.`, string(v.currentVariableName), string(typeName)),
	}
}

func (v *variablesVisitor) renderVariableRequiredNotProvidedError(fieldName []byte, typeRef int) {
	out := &bytes.Buffer{}
	err := v.variables.PrintNode(v.variables.Nodes[v.currentVariableJsonNodeRef], out)
	if err != nil {
		v.err = err
		return
	}
	out.Reset()
	err = v.definition.PrintType(typeRef, out)
	if err != nil {
		v.err = err
		return
	}
	v.err = &InvalidVariableError{
		Message: fmt.Sprintf(`Variable "$%s" got invalid value; Field "%s" of required type "%s" was not provided.`, string(v.currentVariableName), string(fieldName), out.String()),
	}
}

I've responded in the corresponding issue on the cosmo repo.


Parallels teardowns of pod network cause k8s flakiness

It turns out that the portmap plugin is not idempotent if it's called multiple times in parallel
https://github.com/containernetworking/plugins/issues/418
This cause that kubernetes jobs running with KIND show a lot of errors related to this
Dec 08 16:33:52 kind-worker kubelet[612]: E1208 16:33:52.590180     612 remote_runtime.go:128] StopPodSandbox "c9935e89d59fe7bbef3cd0abc408ebd3abe539e2661baa40abf0f784da93cc73" from runtime service failed: rpc error: code = Unknown desc = failed to destroy network for sandbox "c9935e89d59fe7bbef3cd0abc408ebd3abe539e2661baa40abf0f784da93cc73": could not teardown ipv4 dnat: running [/usr/sbin/iptables -t nat -X CNI-DN-cd6657f3c330fd2b2a3a6 --wait]: exit status 1: iptables: No chain/target/match by that name.
Dec 08 16:33:52 kind-worker kubelet[612]: E1208 16:33:52.590272     612 kuberuntime_manager.go:898] Failed to stop sandbox {"containerd" "c9935e89d59fe7bbef3cd0abc408ebd3abe539e2661baa40abf0f784da93cc73"}
Dec 08 16:33:52 kind-worker kubelet[612]: E1208 16:33:52.590342     612 kuberuntime_manager.go:676] killPodWithSyncResult failed: failed to "KillPodSandbox" for "6c17048a-7dc2-41d7-8273-e2d1c6c34b51" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to destroy network for sandbox \"c9935e89d59fe7bbef3cd0abc408ebd3abe539e2661baa40abf0f784da93cc73\": could not teardown ipv4 dnat: running [/usr/sbin/iptables -t nat -X CNI-DN-cd6657f3c330fd2b2a3a6 --wait]: exit status 1: iptables: No chain/target/match by that name.\n"
Dec 08 16:33:52 kind-worker kubelet[612]: E1208 16:33:52.590428     612 pod_workers.go:191] Error syncing pod 6c17048a-7dc2-41d7-8273-e2d1c6c34b51 ("pod-projected-configmaps-266265fc-9920-4e9c-ba76-40c027582004_projected-4056(6c17048a-7dc2-41d7-8273-e2d1c6c34b51)"), skipping: failed to "KillPodSandbox" for "6c17048a-7dc2-41d7-8273-e2d1c6c34b51" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to destroy network for sandbox \"c9935e89d59fe7bbef3cd0abc408ebd3abe539e2661baa40abf0f784da93cc73\": could not teardown ipv4 dnat: running [/usr/sbin/iptables -t nat -X CNI-DN-cd6657f3c330fd2b2a3a6 --wait]: exit status 1: iptables: No chain/target/match by that name.\n"

and a possible cause of flakiness due to the contention created and possible issues with the iptables locking mechanism https://github.com/kubernetes/kubernetes/pull/85727
Should this code use a lock to avoid trying to remove the pod network in parallel?
https://github.com/containerd/cri/blob/470776c903313f7946dab56a08d1bcef0495d974/pkg/server/sandbox_stop.go#L81

/cc @Random-Liu

@aojea Is this only a temporary error or permanent error?

@aojea Is this only a temporary error or permanent error?

it happens permanently in kubernetes CI, I've found it in the parallel e2e test jobs with KIND.
The main problem is that the portmap CNI plugin is not idempotent if executed in parallel https://github.com/containernetworking/plugins/issues/418#issuecomment-562974220
but I've opened this issue to know if is correct that containerd is executing teardownPodNetwork multiple times in parallel

@aojea What CNI version are you using?

it happens permanently in kubernetes CI

The teardown will be kept retried by kubelet and never succeed?
If you only see 1 or 2 times of this error for a particular pod in the kubelet log, it means that it will eventually get right.

The CNI are the reference plugins , portmap and ptp. https://github.com/containernetworking/plugins
From the logs it seems that containerd is executing the teardowns in parallel and this causes the portmap plugin to fail sometimes. Those failures are harmless because kubelet retries and eventually it gets right, but this seems to adds same flakiness to the jobs, not because of containerd or kubelet failures, because of iptables lock issues

My questions is if the teardowns from containerd should be done sequentially instead of in parallel

It should be done parallel. If anything breaks that, we should fix it.

Thanks for the clarifications, it was very helpful
Will close this and try to fix it in the portmap plugin https://github.com/containernetworking/plugins/pull/420

Just to close the loop, the CNI spec says that there can be concurrent operations on different containers, but that operations on the same container should be serialized.
So, if there's any chance that cri-containerd is doing this, then it's a bug. Otherwise, it's a plugin problem.

Just to close the loop, the CNI spec says that there can be concurrent operations on different containers, but that operations on the same container should be serialized.
So, if there's any chance that cri-containerd is doing this, then it's a bug. Otherwise, it's a plugin problem.

@Random-Liu do you think I should reopen based on this comment ^^^?


Sign the executables to avoid having to submit each version to Microsoft + Norton

Looks like Comodo may be the cheapest option at $85 per year for one year: https://comodosslstore.com/codesigning.aspx
Also had these guys recommended: https://www.ksoftware.net/code-signing-certificates/
Some guidance on using signtool here: https://stackoverflow.com/questions/19160779/innosetup-code-signing-certificate

Apparently using an MSI (vs exe installer) can help. EDMC uses WiX by the looks of things.
https://www.firegiant.com/wix/tutorial/

Sounds like alternatives to pyinstaller also get heralded as containing trojans: https://stackoverflow.com/questions/48464693/py2exe-detected-as-virus-alternatives


require("config") messes with my setup

Is it possible to change the require("config") statements to something different like require("nvim-lightbulb.config")? I have a config.lua file in my neovim dotfiles and i get errors because of this.

This is my bad, sorry. I've pushed a hotfix, please let me know if any issues still arise.

Thanks, it fixed the issue.


cross-linking data

I'd like a place in the meta-data file to identify other places where this data is shared, e.g. figshare, CRCNS, institutional servers, etc.
What do you all think about putting something like this is https://github.com/dandi/dandiarchive/blob/master/web/src/assets/schema/base.json that holds a list of urls to other data sources?

yes: see this file:
https://github.com/BICCN/BICCN-Infrastructure-Draft/blob/ce0df09b310bbcdd0a7a63cc51a0955e3cae97b8/BICCN-policies/dataset-metadata.yaml
there are two relevant places:
associatedData (for example, other related data, or raw data, etc.,.)
distribution (other places through which the same data are distributed)

for now if you want you can add them to the dandiset.yaml manually locally. this should be editable in the not too distant future online.


Neutral model

See this notebook that looks at fits with the Neutral model:
https://github.com/alan-turing-institute/WorldCupPrediction/blob/neutral-venue-model/notebooks/NeutralModel.ipynb
Also has a bit of an exploration of how many years of data to include - maybe suggests 6-7 years (which would be back to 2016 rather than 2018).

Really nice work - notebook runs fine for me. Will merge


Proposal: Dockerfile ADD IMMUTABLE for URLs

I have a lot of statements in my Dockerfiles like this:
ADD https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz python.tgz

And now, multiple times a day (sometimes multiple times an hour) Docker downloads large tarballs only to verify, indeed, Python 3.4.1 is the same Python 3.4.1 as it was 10 minutes ago.  This is bad news for hosts like Python.org and it is also bad news for my build times and bandwidth usage.
Instead I'd like some syntax for solemnly swearing that Python 3.4.1 will be the same Python 3.4.1 every time:
ADD IMMUTABLE https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz python.tgz

When IMMUTABLE is used, instead of downloading and hashing the file contents to determine if the cached result is ok to use, Docker would use the URL alone.  Thus as long as the URL in my Dockerfile doesn't change I can rebuild without pulling large tarballs from Python.org.

+1
This seems like a very good feature. We certainly need it for s6-overlay. I recommend we should think to be adding it as a new ADD --option control knob, after #10775 is merged.

@drewcrawford rather than counting on the URL itself, what if there was a --option that said it should just check the mtime (for files) or Last-Modified HTTP header (for remote resources)?  Or is even doing an HTTP HEAD on the URL too much?

@drewcrawford - I was under the impression (reading elsewhere) that docker already used the Last-Modified HTTP header to be the mtime. If that's true the caching mechanism either does not work properly and / or is not sufficient for downloading tarballs from github releases (e.g. not a consistent Last-Modified HTTP header).

@dreamcat4 It does not use the last modified header, but has been discussed before.

actually, its supposed to use it as the mtime - if its not then there's a bug.  I'll take a look at it.
https://github.com/docker/docker/blob/master/builder/internals.go#L278

From my quick test it does appear to work. I see the modified time set properly:
Step 1 : ADD http://soaphub.org/files/abc /tmp/abc
Downloading      5 B/5 B
 ---> Using cache
 ---> 73b078da70f9
Step 2 : RUN ls -l /tmp/abc
 ---> Running in 94a5c5040155
-rw------- 1 root root 5 Nov  6 01:37 /tmp/abc
 ---> 54816f0b85f4
Removing intermediate container 94a5c5040155
Step 3 : RUN stat /tmp/abc
 ---> Running in 7f6dd076293d
  File: '/tmp/abc'
  Size: 5         	Blocks: 8          IO Block: 4096   regular file
Device: 30h/48d	Inode: 55          Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-03-04 14:38:28.038591064 +0000
Modify: 2014-11-06 01:37:50.000000000 +0000
Change: 2015-03-04 14:38:28.038591064 +0000
 Birth: -

Notice its just the mtime not the ctime tho.  @dreamcat4 do you have a small testcase that shows how it fails for you?  Also, I'm using the latest docker, which version are you on?
(note I touched the 'abc' file on soaphub.org so if you try this you'll see a newer time)

Oh nice... you are right. I guess the other discussions around last-modified were to use it before attempting to actually download the file.

yup - and if we add support for --options then we can give people the choice.

Added a testcase to make sure we don't regress:  https://github.com/docker/docker/pull/11159

Great guys. I'm glad you are also expressing an interest in this aspect of the ADD command. @duglin As requested, here is a simple test case that should reproduce my issue. My local installation was lxc-docker-1.5.0 on ubuntu-14.10.
Just put this in a Dockerfile, then build twice over, 3x times etc.:
FROM busybox
ADD https://github.com/glerchundi/container-s6-overlay-builder/releases/download/v1.4.0/s6-overlay-1.4.0-linux-amd64.tar.gz /s6-overlay.tar.gz
RUN gunzip -c /s6-overlay.tar.gz | tar -xf - -C / && rm /s6-overlay.tar.gz

What you aught to see is that this same tarball from the above ^^ "github releases" url is being downloaded every time. Once it is downloaded, then sure enough docker subsequently checks the full file and concludes using cache.... By which time it is too late.
So if we assume that the mtime setting from the Last-Modified: http header is indeed working (as per the documentation). Then it would appear that method is simply not up to scratch for any such files publically hosted on Github. Please also feel free to cross-check with any other "Github-releases" URLs and compare the result. It is my understanding that they are all backed onto amazon s3 with a session key that very quickly expires. You may also wish to try other types of github download URL such as the .*/latest/master.tar.gz URL link. Since they are quite popular also.

@dreamcat4 ok, that's different.  :-)   If I'm following, the issue isn't that its not using the cache, its that its still doing the download.  That's known and working as designed.  If we can get the --option stuff added then we can add a flag to tell Docker that its ok to just check the mtime/last-modified value and skip the download.

See:  https://github.com/docker/docker/issues/3672

Can't you do a partial download and verify the first 10K as the hash to make doubly sure.

Hello!
We are no longer accepting patches to the Dockerfile syntax as you can read about here: https://github.com/docker/docker/blob/master/ROADMAP.md#22-dockerfile-syntax
Mainly:

Allowing the Builder to be implemented as a separate utility consuming the Engine's API will open the door for many possibilities, such as offering alternate syntaxes or DSL for existing languages without cluttering the Engine's codebase

Then from there, patches/features like this can be re-thought. Hope you can understand.


[BEAM-2572] Python SDK S3 Filesystem

Co-authored-by: Matthew Morgis<EMAIL_ADDRESS>Co-authored-by: Tamera Lanham<EMAIL_ADDRESS>This adds an AWS S3 file system implementation to the python SDK.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Hi,
We are running into trouble getting the unit tests to pass in the CI environment, and I think we can use help from a core team member.
We added a new set of extra dependencies when using this new S3 filesystem - we followed the same pattern that GCP did: https://github.com/apache/beam/pull/9955/files#diff-e9d0ab71f74dc10309a29b697ee99330R239
This allows the user to install with pip install beam[gcp] or pip install beam[aws] in our case.
Our unit tests are completely mocked out and do not require any of the AWS extra packages, however, we set it up behind a flag so you can bypass the mock and talk to a real S3 bucket over the wire. Because of this, the extra dependencies do need to installed when running these new unit tests.
Again, following the lead of how GCP implemented this, they also skip the unit tests if their extra dependencies are not installed: https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/gcp/gcsio_test.py#L240
Our question: How do we configured CI to install the AWS deps to run the tests?
I have poked around a bit and found one setting in tox.ini that appears to install both the test and gcp deps (https://github.com/apache/beam/blob/master/sdks/python/tox.ini#L200). Addtionally, at the root level of the project, (https://github.com/apache/beam/blob/master/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L1799) I found a installGcpTest Gradle task that seems to also install both. This task only seems to be referenced inside of the test-suites/dataflow but not direct or portable.
Any guidance here would be greatly appreciated!

R: @pabloem @robertwb @aaltay @charlesccychen

@MattMorgis thank you for the contribution. The general path of adding [aws] as an extra package sounds reasonable.
@chamikaramj could help with reviews or find a person to review.
@yifanzou could help with CI related questions.

R: @pabloem will you be able to review ?
Also cc: @lukecwik

@markflyhigh would you help on the python test environment setup?

I can review. Looking today.

There were some errors when creating the fake client:
14:34:21 ======================================================================
14:34:21 ERROR: test_delete_tree (apache_beam.io.aws.s3io_test.TestS3IO)
14:34:21 ----------------------------------------------------------------------
14:34:21 Traceback (most recent call last):
14:34:21   File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py2/build/srcs/sdks/python/apache_beam/io/aws/s3io_test.py", line 488, in test_delete_tree
14:34:21     self.assertTrue(self.aws.exists(path))
14:34:21   File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py2/build/srcs/sdks/python/apache_beam/io/aws/s3io.py", line 443, in exists
14:34:21     self.client.get_object_metadata(request)
14:34:21   File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py2/build/srcs/sdks/python/apache_beam/io/aws/clients/s3/fake_client.py", line 88, in get_object_metadata
14:34:21     return file_.get_metadata()
14:34:21   File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py2/build/srcs/sdks/python/apache_beam/io/aws/clients/s3/fake_client.py", line 49, in get_metadata
14:34:21     len(self.contents))
14:34:21 TypeError: __init__() takes exactly 6 arguments (5 given)

@MattMorgis @tamera-lanham There seems to be an issue with the fake client : ) would love to move this forward.

@pabloem I'll look into that and the tox.ini today or tomorrow

Hi! : ) it would be nice to get this in soon. Would you like us to jump on a call / any help pushing it through? : )

Run Python PreCommit

I'm checking out the test failures and spot-fixing now, starting with the python 2.7 issues. Seems like most of those can be fixed fairly easily. There are a couple of oddball failures as well in some python 3 environments which might take longer to figure out. I'll commit again when I think I've got some fixes in.
Also, do you know if there's a way to download a whole test report instead of navigating Jenkins to see the results?

Build scan: https://scans.gradle.com/s/tc45x4bplbo6m - only docs are complaining now : )

Looks like errors unrelated to the change. Let me clean up the GCP project that we use for testing

Run Python2_PVR_Flink PreCommit

Run Python PreCommit

lovely!

Thanks so much @tamera-lanham @MattMorgis - y'all went the extra mile to write a good feature with testable code. Lots of people have wanted this feature added, so I'm very grateful to you two : )

Thank you all very much!


child_process

I think I discovered some missing type definitions for stdio options to child_process calls to  execFileSync, execSync and spawnSync.
Actually this is also seems to be missing in node.js documentation (see https://github.com/nodejs/node/issues/9636).
The options.stdio argument to execFileSync, execSync and spawnSync can actually be a string and an array.
In lib/node.js it also seems that execFileSync is using the incorrect options type... It should use child_process$execSyncOpts not child_process$execFileOpts.  https://github.com/facebook/flow/blob/c6c6b3cdc9ae804f5f72a2672e66e9f1a594cc5e/lib/node.js#L241

I would wait fixing it before https://github.com/nodejs/node/pull/9637 has been approved.

My pull request for node has now been accepted, so the current flow definitions should be updated.


CDK_AWS_PARTITION: Does not fix the OIDC region and audience.

Hi,
Setting the environment variable CDK_AWS_PARTITION as specified here: AWS China partition support, does not make sure that the audience and aws-region of this action: aws-actions/configure-aws-credentials@v4 are configured correctly.
This results in the following:

 pipeline-definition.yml
# AUTOMATICALLY GENERATED FILE, DO NOT EDIT MANUALLY.
# Generated by AWS CDK and [cdk-pipelines-github](https://github.com/cdklabs/cdk-pipelines-github)

name: deploy-china-partition
on:
  push:
    branches:
      - main
  workflow_dispatch: {}
jobs:
# ... other steps
  Assets-FileAsset1:
    name: Publish Assets Assets-FileAsset1
    needs:
      - Build-Build
    permissions:
      contents: read
      id-token: write
    runs-on: ubuntu-latest
    outputs:
      asset-hash: ${{ steps.Publish.outputs.asset-hash }}
    steps:
      - name: Download cdk.out
        uses: actions/download-artifact@v4
        with:
          name: cdk.out
          path: cdk.out
      - name: Install
        run: npm install --no-save cdk-assets
      - name: Authenticate Via OIDC Role
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-region: us-west-1
          role-duration-seconds: 1800
          role-skip-session-tagging: true
          role-to-assume: arn:aws-cn:iam::000000000000:role/DummyOIDCRole
      - id: Publish
        name: Publish Assets-FileAsset1
        run: /bin/bash ./cdk.out/assembly-DummyStage/publish-Assets-FileAsset1-step.sh
# ... other steps

The aws-region part can be fixed by setting publishAssetsAuthRegion, when creating the pipeline. However the audience is not set to sts.amazonaws.com.cn which is a requirement for the OIDC authentication to work: OIDC Audience. Because of this the github action to assume the OIDC role will fail.
Relevant issues:

 Add support for aws-cn partition #820

Reproducible python code:

 requirements.txt
aws-cdk-lib==2.154.0
constructs>=10.0.0,<11.0.0
cdk-pipelines-github

 app.py
#!/usr/bin/env python3

import aws_cdk as cdk

from constructs import Construct
from cdk_pipelines_github import GitHubWorkflow, AwsCredentials

app = cdk.App()

class DummyStack(cdk.Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        cdk.aws_sqs.Queue(
            self,
            "IssueGithubPipelinesQueue",
            visibility_timeout=cdk.Duration.seconds(300),
        )

class DummyPipelineStage(cdk.Stage):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        DummyStack(self, f"TestStack", **kwargs)

github_pipeline = GitHubWorkflow(
    app,
    "GithubPipeline",
    synth=cdk.pipelines.ShellStep(
        "Build",
        commands=[
            "npm install -g aws-cdk",
            "python -m pip install -r requirements.txt",
            "cdk synth",
        ],
    ),
    aws_creds=AwsCredentials.from_open_id_connect(
        git_hub_action_role_arn=f"arn:aws-cn:iam::000000000000:role/DummyOIDCRole"
    ),
    workflow_name="deploy-china-partition",
    workflow_path=".github/workflows/deploy-china-partition.yml",
    publish_assets_auth_region="cn-northwest-1",
)
wave = github_pipeline.add_wave("MultiRegion")

stage = DummyPipelineStage(
    app,
    "DummyStage",
    env=cdk.Environment(account="000000000000", region="cn-north-west-1"),
)

wave.add_stage(
    stage,
)

app.synth()

Version
Python 3.10.0
cdk-pipelines-github version: cdk-pipelines-github==0.4.124
Modifications/environment/deployment
I Have made no modifactions to code environment or deployment that should affect this.
Issue
Setting the environment variable CDK_AWS_PARTITION does not setup the OIDC Github Action correctly.

@mbergkvist since you were the one helping out with the AWS_PARTITION i'm wondering if you can help here?
@oliott thanks for bringing this to our attention but i don't currently have time to work on this. i would be happy to review a PR from you or anyone else in the community though. sorry about that -- this is a cdklabs project that relies heavily on community contributions for new features.

@oliott audience is not set, but that has not been an issue here. Before we go down that path, can you try to add
env:
  AWS_STS_REGIONAL_ENDPOINTS: regional

to the deploy file? In TS it's done with
pipeline.workflowFile.patch(JsonPatch.add('/env', { AWS_STS_REGIONAL_ENDPOINTS: 'regional' }));

If that doesn't help, please provide the error you get and also how you've setup the trust in the git_hub_action_role.

Hi thanks for taking time to respond and look at this. I tried setting this:
env:
  AWS_STS_REGIONAL_ENDPOINTS: regional

But does not really fix the issue. I can paste the entire workflow yaml file here:

 .github/workflows/deploy-china-partition.yml
# AUTOMATICALLY GENERATED FILE, DO NOT EDIT MANUALLY.
# Generated by AWS CDK and [cdk-pipelines-github](https://github.com/cdklabs/cdk-pipelines-github)

name: deploy-china-partition
on:
  push:
    branches:
      - main
  workflow_dispatch: {}
jobs:
  Build-Build:
    name: Synthesize
    permissions:
      contents: read
      id-token: write
    runs-on: ubuntu-latest
    needs: []
    env: {}
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Build
        run: |-
          npm install -g aws-cdk
          python -m pip install -r requirements.txt
          cdk synth
      - name: Upload cdk.out
        uses: actions/upload-artifact@v4
        with:
          name: cdk.out
          path: cdk.out
  Assets-FileAsset1:
    name: Publish Assets Assets-FileAsset1
    needs:
      - Build-Build
    permissions:
      contents: read
      id-token: write
    runs-on: ubuntu-latest
    outputs:
      asset-hash: ${{ steps.Publish.outputs.asset-hash }}
    steps:
      - name: Download cdk.out
        uses: actions/download-artifact@v4
        with:
          name: cdk.out
          path: cdk.out
      - name: Install
        run: npm install --no-save cdk-assets
      - name: Authenticate Via OIDC Role
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-region: cn-northwest-1
          role-duration-seconds: 1800
          role-skip-session-tagging: true
          role-to-assume: arn:aws-cn:iam::000000000000:role/DummyOIDCRole
      - id: Publish
        name: Publish Assets-FileAsset1
        run: /bin/bash ./cdk.out/assembly-DummyStage/publish-Assets-FileAsset1-step.sh
  DummyStage-TestStack-Deploy:
    name: Deploy DummyStageTestStackB0404510
    permissions:
      contents: read
      id-token: write
    needs:
      - Build-Build
      - Assets-FileAsset1
    runs-on: ubuntu-latest
    steps:
      - name: Authenticate Via OIDC Role
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-region: cn-north-west-1
          role-duration-seconds: 1800
          role-skip-session-tagging: true
          role-to-assume: arn:aws-cn:iam::000000000000:role/DummyOIDCRole
      - name: Assume CDK Deploy Role
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-region: cn-north-west-1
          role-duration-seconds: 1800
          role-skip-session-tagging: true
          aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
          aws-session-token: ${{ env.AWS_SESSION_TOKEN }}
          role-to-assume: arn:aws:iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-cn-north-west-1
          role-external-id: Pipeline
      - id: Deploy
        uses: aws-actions/aws-cloudformation-github-deploy@v1
        with:
          name: DummyStage-TestStack
          template: https://cdk-hnb659fds-assets-000000000000-cn-north-west-1.s3.cn-north-west-1.amazonaws.com/${{
            needs.Assets-FileAsset1.outputs.asset-hash }}.json
          no-fail-on-empty-changeset: "1"
          role-arn: arn:aws:iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-cn-north-west-1
env:
  AWS_STS_REGIONAL_ENDPOINTS: regional
  TEST_ACCOUNT_ID: ${{ vars.TEST_ACCOUNT_ID }}
  TEST_OIDC_ROLE_NAME: ${{ vars.TEST_OIDC_ROLE_NAME }}

The jobs/steps that are failing is the aws-actions/configure-aws-credentials@v4 since they do not get their audience set to sts.amazonaws.com.cn.
This is the resulting job/step running in github:
# Run aws-actions/configure-aws-credentials@v4
  with:
    aws-region: cn-northwest-1
    role-duration-seconds: 1800
    role-skip-session-tagging: true
    role-to-assume: arn:aws-cn:iam::000000000000:role/DummyOIDCRole
    audience: sts.amazonaws.com
  env:
    AWS_STS_REGIONAL_ENDPOINTS: regional
    TEST_ACCOUNT_ID:<PHONE_NUMBER>00
    TEST_OIDC_ROLE_NAME: DummyOIDCRole

So the audience ends up pointing to Europe regardless of me setting that environment variable.

@oliott Interesting. I see now that I too have audience: sts.amazonaws.com in the logs, but I've no issues with uploading assets or deploying.
Run aws-actions/configure-aws-credentials@v4
  with:
    aws-region: cn-north-1
    role-duration-seconds: 1800
    role-skip-session-tagging: true
    role-to-assume: arn:aws-cn:iam::000000000000:role/GitHubActionRole
    role-session-name: GitHubActionsPipeline
    audience: sts.amazonaws.com
  env:
    AWS_STS_REGIONAL_ENDPOINTS: regional
Assuming role with OIDC
Authenticated as assumedRoleId AROAQ4U57LWRXIREWVCNN:GitHubActionsPipeline

Could it be the subject-claims of the GitHubActionRole that is not correct?
subjectClaims: ['repo:owner/repo:ref:refs/heads/main'],

I know that the OIDC part is setup correctly because it is working as long as I specify the audience. But I have followed: Configuring OpenID Connect in Amazon Web Services. It does not clearly specify that the audience should be sts.amazonaws.com.cn for the China partition but setting it to anything else fails.
Also the documentation for the action says that the audience for China should be specified as sts.amazonaws.com.cn.
But I can check and see if I can find where the yaml for this action is created and add the audience when applicable.

I'm curious why it's working for me even though I have audience: sts.amazonaws.com.

No I am not using GitHubActionRole I think it works because that role does not create the trust policy to contain the condition on the audience as recommended here: configuring-the-role-and-trust-policy.
"Condition": {
  "StringEquals": {
    "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
    "token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
  }
}

So I have a Role that has this trust policy but it is sts.amazonaws.com.cn instead since that is the sts endpoint in China. So that explains why it is working for you and not for me.


Add animations on Text will cause an error on Native

Current Behavior
I added an animation on my Text like this:
<Text
    fontSize={10}
    color={'red'}
    position={'absolute'}
    bottom={-13}
    left={0}
    numberOfLines={1}
    overflow={'visible'}
    animation='quick'
    enterStyle={{ opacity: 0 }}
    exitStyle={{ opacity: 0 }}
    opacity={0.8}
     >
</Text>

But will get an error:  ERROR  Error: Text strings must be rendered within a <Text> component.
If I remove the animation-related code (the last 4 lines of props on Text), it works ok.
Expected Behavior
No response
Tamagui Version
^1.80.4

Platform (Web, iOS, Android)
iOS, Expo

Reproduction
A `Text` component with animations, running on iOS devices

System Info
System:
    OS: macOS 12.6
    CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
    Memory: 457.08 MB / 8.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.18.2 - /usr/local/bin/node
    Yarn: 1.22.15 - ~/.yarn/bin/yarn
    npm: 10.2.0 - /usr/local/bin/npm
    bun: 1.0.7 - ~/.bun/bin/bun
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Browsers:
    Chrome: 120.0.6099.129
    Safari: 17.2.1

Try to update tamagui. It‘s already fixed.

yeah confirmed working with the latest Tamagui version


Inject web3 into RootChain instead of creating one internally

This object of this PR is to remove the dependency on a particular version of web3.
Previously the RootChain object created an instance of web3 (v1.0.0-beta). This is fine if it's running  as a node service, but not if it's running in the browser. Metamask, for example, uses web3 v0.20.x and  the instance of version 1.0.0-beta loaded by omg-js-rootchain clashes with it and causes it to fail.
In summary - you can't use omg-js-rootchain and Metamask in the same browser app 😞
This PR fixes that; you can use Metamask's web3 instance (or create one yourself) and pass it into the RootChain object.
The RootChain can work with either a  v0.20.x or v1.0.0-beta version of web3
Unfortunately, this is a non backwards compatible change :(
But it's only a one line change - the RootChain constructor now takes a web3 object instead of a web3Provider (url)

@Pongch @kasima
Please take a look at this PR.
It's not backwards compatible, as explained above.
However, it may not be urgent - unless we think people are going to use Metamask with omg-js (a fair assumption??)

I think people should start using Metamask with our lib pretty soon. Especially since most production dApps do depend on injected Web3 (mobile browser included). When you said you have tested with js-starter-kit, you mean testing with metamask's web3v0.20.x ? or using metamask to sign rootchain transactions ?

When you said you have tested with js-starter-kit, you mean testing with metamask's web3v0.20.x ? or using metamask to sign rootchain transactions ?

Both really. I can pass metamask's web3 to the RootChain, then when it's time sign a rootchain transaction, Metamask pops up.
What I really, really want to be able to do is sign childchain transactions with Metamask as well, but it's not possible right now. I mean, it would be possible but requires some changes with how the childchain validates signatures.
I'd like for us to enable signing with EIP-712, but it will take a bit of work...

sorry for taking this off topic, I will raise another GH Issue around Metamask signing transaction. For the time being, if there is no issue with Plasma Dog and JS-starter-kit we should be alright


since ceph-disk activate already starts ceph-osd, don't rerun it; just wait till it exists

@leseb

cool, done,


Opening modal causes page to shift

On Windows Chrome, when I open a modal, the page scrollbar goes away and the page shifts ~20px to the right. Otherwise the experience of the modal fading in and up is smooth, but it feels janky when the page shifts quickly underneath it (and then back over when the modal is dismissed).
Would it be possible to keep the scrollbar but still disallow scrolling? Or alternatively, a solution like Bootstrap 4: they remove the scrollbar but the page does not shift: https://getbootstrap.com/docs/4.1/components/modal/

Yes, this should be possible with some changes to the _reset styles on the html element. The Bootstrap example puts their overflow property on the body element, which I think we should move to. Marking as bug.

Will be fixed on next release

Awesome, thanks @paulcpederson!


Log file sent has no content in builds

Sorry, I'm back again... As with my previous issue, my messages can now be sent through, but the log file actually shows no content:

However, it works fine in the editor or the debug builds:

I'm using your newest codes for Godot 3. Sorry, I could have noticed it back then.

I tried printing out the payload in send_massage(), and I got this in the normal build log file:
--b808208910
Content-Disposition: form-data; name="payload_json"
Content-Type: application/json
{"attachments":[{"id":0}],"embeds":[{"color":15258703,"fields":[{"inline":false,"name":"Message:","value":"\nbuild test\n"}],"title":"Bug reported by playerid:<PHONE_NUMBER>"}],"tts":false,"username":"From Soil to Bottle:"}
--b808208910
Content-Type: plain/text"
Content-Disposition: attachment; filename="godot.log"; name="files[0]";
--b808208910--
While in the editor it was:
--b3240068670
Content-Disposition: form-data; name="payload_json"
Content-Type: application/json
{"attachments":[{"id":0}],"embeds":[{"color":15258703,"fields":[{"inline":false,"name":"Message:","value":"\ntest\n"}],"title":"Bug reported by playerid:<PHONE_NUMBER>"}],"tts":false,"username":"From Soil to Bottle:"}
--b3240068670
Content-Type: plain/text"
Content-Disposition: attachment; filename="godot.log"; name="files[0]";
Godot Engine v3.5.3.stable.custom_build.406243c82 - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
Async. shader compilation: OFF
--b3240068670--
It's really strange...

That should only happen if the log file is empty.
application/run/flush_stdout_on_print = true should fix it.
That way the logs will be written to the file when something is printed.
That is generally not recommended for release builds because of the slight performance impact it can have, but it is required for this.
I think by default it is only written when the game is closed or the buffer is full but I might be wrong.
Thanks for pointing this out. It is something the README should mention.

Thanks! That's it.


Force the change trigger through jquery

Is it possible to force the change trigger on a parent element? For example, say I have a parent and a child dropdown. I select an item from the parent and the child loads the data and then I select a child. Once I click a button to add them to a table, I sometimes have trouble "resetting" the elements. If I set the value of the parent to the "" element, the data from the child still exists. I have tried using:
$("#elementID").val("")
as well as
var test = document.getElementById("elementID");
var testoption = $("#elementID option");
var testVal = testoption.filter(function() {return $(this).html() === "Default Select Text"}).val();
test.value = testval;

Sometimes I can get it to properly reset and sometimes the child data is still loaded until I manually change the parent's selected item.

In version 1.3.2 you can trigger change on parent element by manually creating change event and dispatching it:
 var evt = document.createEvent("HTMLEvents");
 evt.initEvent("change", false, true);
 $("#elementID")[0].dispatchEvent(evt);

In version 2 (which is currently being tested and planned to be release by the end of this month) you could do it by triggering change event through jQuery:
$("#elementID").trigger("change");

Wow that helps so much. I appreciate the help!

V2 has been released so you should be able to use
$("#elementID").trigger("change");


alcatraz  how to update installed plugins?

if xcode installed plugins have new version ,alcatrza can update it automatic?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9424543-alcatraz-how-to-update-installed-plugins?utm_campaign=plugin&utm_content=tracker%2F282297&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282297&utm_medium=issues&utm_source=github).

ok ，i  have found answer.


Logging to file

Description

Logging INFO and WARNING to file #205

Functional Acceptance Criteria

The logging shows correct log messages according to the scenario. Detail in Additional Information

Checklist

[x] I have performed a self-review of my code.
[ ] I have added tests to cover my changes.
[x] I have updated the documentation, if applicable.
[x] My code follows the Coding Guidelines.

Type of Change

[ ] Bug fix
[ ] New feature
[ ] Documentation update
[x] Other (Logging)

Additional Information

Settings

3 Handlers:

console - log to console
activities-file log to activities.log file
profiles-file log to profiles.log file

Activities

INFO

Create
Join
Leave
Edit
Kick
Grant/Remove host
Check-in
Open check-in
Close Check-in

WARNING

Fail to create (No profile)
Fail to create (Owner Rep < min_rep)
Fail to join (No profile)
Fail to join (#Join reach limit)
Fail to join (Not active)
Fail to join (Full)
Fail to join (Rep too low)
Fail to join (Already join)
Fail to edit (Owner Rep < min_rep)
Fail to edit (Current people > max_people)
Fail to check-in (Not member)
Fail to check-in (Check-in not allow)
Fail to check-in (Invalid code)
Fail to open check-in (Not in check-in period)
Fail to edit host access (Not owner)

Profiles

INFO

Edit
Create

WARNING

Try to edit other profile
Fail to create (already exist)

Your logging has separated modules which is fine. BUT the logging message got the pattern for examples. <User> <action> <Act> <reason> and currently write it every where by hands. AS you already have a logging module, you should define the function or constant to eliminate the repeats of the log message you need to write. (It also violates DRY)

Edited. Please review.

Info and warning do same thing how comes it a separate function

Strategy method. Personally, I think it's easier to understand if the log level is the module function instead of the function parameter.

Info and warning do same thing how comes it a separate function

Strategy method. Personally, I think it's easier to understand if the log level is the module function instead of the function parameter.

So if I want to use FATAL or ERROR I need to create new method?
Too much work for a little thing


Cannot find module '@tauri-apps/cli-darwin-x64'

HI!
I tried running the examples/aåpi the way the documention says to. I am getting this
`yarn tauri dev
yarn run v1.22.19
warning package.json: No license field
warning ../../../../../package.json: No license field
$ node ../../tooling/cli/node/tauri.js dev
/Users/ed/dev/rust/tauri/tooling/cli/node/index.js:234
throw loadError
^
Error: Cannot find module '@tauri-apps/cli-darwin-x64'
Require stack:

/Users/ed/dev/rust/tauri/tooling/cli/node/index.js
/Users/ed/dev/rust/tauri/tooling/cli/node/main.js
/Users/ed/dev/rust/tauri/tooling/cli/node/tauri.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
at Object. (/Users/ed/dev/rust/tauri/tooling/cli/node/index.js:111:29)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/ed/dev/rust/tauri/tooling/cli/node/index.js',
'/Users/ed/dev/rust/tauri/tooling/cli/node/main.js',
'/Users/ed/dev/rust/tauri/tooling/cli/node/tauri.js'
]
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.`

I'm on a Mac M1 Pro, latest MacOS Ventura.

Did you say yes when the script asked if you want to install the node cli? (We should change it up a bit since it's required now)

Kinda weird that it's trying to find @tauri-apps/cli-darwin-x64 instead of @tauri-apps/cli-darwin-arm64 (or ./cli.darwin-arm64.node when you build it locally).
What is the output of $ node -p "process.arch"? From the error message it'll print x64, which is not your actual architecture (should actually print arm64). Maybe you're running a Rosetta Node.js?

I have the same issue

I hit this but on Linux, in a CI build:
$ npm i
added 848 packages in 19s
146 packages are looking for funding
  run `npm fund` for details
$ npm run tauri.build
><EMAIL_ADDRESS>tauri.build
> tauri build
/builds/...../node_modules/@tauri-apps/cli/index.js:234
    throw loadError
    ^
Error: Cannot find module '@tauri-apps/cli-linux-x64-gnu'

The npm run tauri.build command is defined as tauri build in my package.json.

I hit this but on Linux, in a CI build:
$ npm i
added 848 packages in 19s
146 packages are looking for funding
  run `npm fund` for details
$ npm run tauri.build
><EMAIL_ADDRESS>tauri.build
> tauri build
/builds/...../our-package/node_modules/@tauri-apps/cli/index.js:234
    throw loadError
    ^
Error: Cannot find module '@tauri-apps/cli-linux-x64-gnu'

The npm run tauri.build command is defined as tauri build in my package.json.

I had the same issue on Linux and seem to have fixed it by deleting the package-lock.json file, removing node_modules and running npm i again.

I also encountered this problem on Mac M1 Pro after upgrade OS version to Ventura.

you can install higher version of node .
I use nvm manage node. By use higher version of node ,I can BUILD .
@edimoldovan @zhanglun

you can install higher version of node . I use nvm manage node. By use higher version of node ,I can BUILD . @edimoldovan @zhanglun

the image from nvm.  https://github.com/nvm-sh/nvm

Upgrading to node v16.17.0 (lts/gallium) from node v14.20.0 (lts/fermium) fixed it for me.

If you are migrating from Mac M1 to Windows, you'll need to delete the package-lock.json and node_modules then run npm i again to reinstall all the dependencies.

hello, i have the same problem, if i try to install on windows works smoothly but on a x86 mac it installs api and cli but not find cli-darwin-x64. Even if i copy the folder from another project it works until the next npm install

I've had this problem in CI, and added the following:
      - name: Install frontend dependencies
        run: npm install

      - name: Install Tauri cli
        run: npm install --save-dev @tauri-apps/cli

same issue.
link

Hello, I solved same problem by downgrading node version from 20.14.0 to 18.17.0.

I'm on Node v20.18.0 and i was trying to run the tauri examples, precisely the api example, none of the above solutions worked.
What i did was delete the references to the @tauri-apps/cli and @tauri-apps/api and just added them with pnpm i @tauri-apps/api pnpm i -D @tauri-apps/cli The newer version takes care of using the corresponding architechture


Add tests for Github client.

Test mock out all network requests.

i'm working on tests for the handlers, but those are harder.  testing the handlers themselves won't be terrible, but testing the uri rewrites looks like it might be.  ideally we could wire up the handlers (and uri rewrites) for a single provider and test against that.  there is a lot of machinery that would need to be subverted to make that happen.

these have been rolled into #2.  Abandoning.


Add tests to socket path creation

What type of PR is this?

/kind cleanup
What this PR does / why we need it:
Move the socket creation into an own method of Server and add unit
tests for the most common test cases.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/lgtm


Update references of 11.1.5 Object Initializer

@mihailik noted in #6932 that ECMA web site

12.2.6 Object Initializer
NOTE 1 An object initializer is an expression describing the initialization of an Object, written in a form resembling a literal. It is a list of zero or more pairs of property keys and associated values, enclosed in curly brackets. The values need not be literals; they are evaluated each time the object initializer is evaluated.

https://github.com/Microsoft/TypeScript/blob/331d26f40271c7a21c6fa74ffac633b45f653dda/src/compiler/checker.ts#L7284
Should probably be revisited:

       // This is motivated by ECMA-262 sections 9.3.1, 9.8.1, 11.1.5, and 11.2.1.

Perhaps the whole repository needs to be checked?
Look at this search: https://github.com/Microsoft/TypeScript/search?utf8=✓&q=ecma
If the numeration of the sections tends to move, maybe it's best to spell out the section names?
Also note, that their URL#hrefs use names rather than numbers too! Those are probably more stable, and even when they break it's easy to find the target applying some common sense and/or Ctrl+F.

FWIW, originally ECMA didn't have named anchors, it was put it because browser vendors complained.
I personally would switch to just using section names (and link to the named sections), but I'm not willing to do that w/o some buy-in from project owners.

I personally would switch to just using section names (and link to the named sections), but I'm not willing to do that w/o some buy-in from project owners.

I think we'd take a PR for that. It certainly doesn't help anyone to have orphaned numbered spec section links.

The spec is now an "archived" artifact and we won't be tracking defects against it anymore.


enable-auto-commit: false is ignored (auto-commit stays enabled)

With this configuration:
spring:
  kafka:
    consumer:
      enable-auto-commit: false

When using MANUAL ack mode, my app crashes with this error message:

Caused by: org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.kafka.config.internalKafkaListenerEndpointRegistry'; nested exception is
java.lang.IllegalStateException: Consumer cannot be configured for auto commit for ackMode MANUAL

While debugging the code, I noticed org.springframework.boot.autoconfigure.kafka.KafkaProperties.Consumer#enableAutoCommit remains null.
Affects 2.1.0.RC1

This was due to a misconfiguration on my part. Closing.

Could you tell what was the error so other can learn lol ( I am having the same error)

Damn. I am really sorry, I had to explain what I had done wrong in the comment above.
Unfortunately I have completely forgotten what I had done wrong.
If you can create a minimal project reproducing that issue I will look into it and debug it for you -- hopefully it refreshes my memory too :sweat_smile:.

Do not worry. I fixed mine  already.
I my case I ended up with the current configuration and it worked.
`@Bean
public ConcurrentKafkaListenerContainerFactory<Long, Book> kafkaListenerContainerFactory() {
    ConcurrentKafkaListenerContainerFactory<Long, Book> factory = new ConcurrentKafkaListenerContainerFactory<>();
    factory.setConsumerFactory(consumerFactory());
    factory.getContainerProperties().setAckOnError(false);
    factory.getContainerProperties().setErrorHandler(new SeekToCurrentErrorHandler());
    factory.getContainerProperties().setAckMode(AbstractMessageListenerContainer.AckMode.MANUAL);
    return factory;
}`

Thanks for the reply.

My problem(same issue with an ignored auto commit) was that we had a separately configured DefaultKafkaConsumerFactory, like so:
    @Bean     fun consumerFactory(): ConsumerFactory<String, String> {         return DefaultKafkaConsumerFactory(consumerConfigs())     }
which meant that all properties should be manually passed into consumerConfigs().

@yuranos When creating your own consumer factory, you can still populate it will Boot properties (and then customize more properties) as follows...
	@Bean
	public ConsumerFactory<?, ?> kafkaConsumerFactory(KafkaProperties properties) {
		Map<String, Object> consumerProps = properties.buildConsumerProperties();
		consumerProps.put(..., ...);
                 ...
		return new DefaultKafkaConsumerFactory<Object, Object>(consumerProps);
	}


Multi Day select

I read through the issues list and apologize if this has been asked or addressed in the past.  But does this Calendar have the ability to have multiple days selected that are not in a range?  Like if I want to "unselect" Tuesday after selecting Sunday through Saturday is that possible?
Thank you

Duplicate of #93


Unable to deploy container for intelgpu-job

The "intelopencl/intel-opencl:ubuntu-20.10-ppa" referenced in intelgpu-job.yaml fails to deploy container. Output is as follows:
reading manifest ubuntu-20.10-ppa in docker.io/intelopencl/intel-opencl: errors:
denied: requested access to the resource is denied
unauthorized: authentication required"
Reproduction steps:

Base cluster 2x Ubuntu 20.04 (1 VM (control plane), 1 Coffee Lake NUC (worker node))

Setup Kubernetes 0.23.0, CRI-O 1.23.0, Docker 20.10.7

Setup worker node
worker node # apt install intel-opencl-icd clinfo

Log into docker
nodes # docker login docker.io

Edit /etc/containers/registries.conf to remove "quay.io" from the unqualified-search-registries

Restart CRI-O
nodes # systemctl restart crio

Clone the repo
control plane $ git clone https://github.com/intel/intel-device-plugins-for-kubernetes intel

Create the intelgpu job
control plane $ cd intel
control plane $ kubectl create -f demo/intelgpu-job.yaml

Get the pods and describe the intelgpu-demo-job pod
control plane $ kubectl get pods
control plane $ kubectl describe pod intelgpu-demo-job...

reading manifest ubuntu-20.10-ppa in docker.io/intelopencl/intel-opencl: errors:

looks like the image does not exist anymore. we'll need to fix the yaml to use some other image.

@bart0sh
Minimize admission of root containers (https://docs.bridgecrew.io/docs/bc_k8s_22)

/demo/test-fpga-preprogrammed.yaml
/demo/test-fpga-orchestrated.yaml
/demo/intelfpga-job.yaml
/demo/intelvpu-job.yaml
... total 81 files

Ensure containers do not share host process ID namespace (https://docs.bridgecrew.io/docs/bc_k8s_16)
Ensure containers do not share host IPC namespace (https://docs.bridgecrew.io/docs/bc_k8s_17)

/deployments/gpu_plugin/overlays/namespace_kube-system/add-namespace-kube-system.yaml
/deployments/dsa_plugin/overlays/namespace_kube-system/add-namespace-kube-system.yaml
/deployments/vpu_plugin/overlays/namespace_kube-system/add-namespace-kube-system.yaml

Ensure containers do not share the host network namespace (https://docs.bridgecrew.io/docs/bc_k8s_18)

/deployments/gpu_plugin/overlays/namespace_kube-system/add-namespace-kube-system.yaml
/deployments/dsa_plugin/overlays/namespace_kube-system/add-namespace-kube-system.yaml
/deployments/vpu_plugin/overlays/namespace_kube-system/add-namespace-kube-system.yaml
/deployments/sgx_enclave_apps/overlays/sgx_ecdsa_inproc_quote/add_hostnetwork.yaml
/deployments/sgx_aesmd/base/kustomization.yaml
/deployments/sgx_enclave_apps/overlays/sgx_ecdsa_inproc_quote/kustomization.yaml
/deployments/sgx_aesmd/base/intel-sgx-aesmd.yaml

Ensure containers do not run with AllowPrivilegeEscalation (https://docs.bridgecrew.io/docs/bc_k8s_19)

/deployments/sgx_admissionwebhook/manager/manager.yaml
/deployments/sgx_admissionwebhook/base/manager_webhook_patch.yaml
/deployments/sgx_plugin/overlays/epc-nfd/add-epc-nfd-initcontainer.yaml
... total 102 files

@hj-johannes-lee thanks. From the first look all findings make sense and worth looking at.
@mythi wdyt?

@bart0sh @hj-johannes-lee wrong issue to have this conversation?


map viewport appears to crash

Bug description
What is happening?
In the course of interacting with the site, the time slider disappears, and the map is not "slippy" any more.
What should be happening?
a) Map should always be slippy and responsive
b) Timeslider should always be present
Repro Steps
Steps to reproduce the behavior:

Not really sure, but I think it's related to some combination of using the inspector, data layer, or changeset viewing.

Screenshots & URL
first encounter this time
[ack! lost the screenshot... pasted the wrong thing]
after a refresh, again, no slider. Then, it slips until it needs to retrieve new tiles due to the slipping.

Ok, then, after I filed the ticket, the slider had appeared and was functioning, but the map was still stuck. Zoom in/out worked, though.

Looking into this. I wonder if there are other things fialing to load, or specific issues with tile sizes and slow loading in some places that are preventing the timeslider from loading properly and/or Leaflet from completing.
Some tests with Network panel open:

So here we have a bad request to https://www.openhistoricalmap.org/api/0.6/map?bbox=3.482666015625,45.42929873257377,16.842041015625004,53.07422751310222

and then eventually this:

I tend to doubt that the first error is causing the latter, but I do think it's possible that slow loading of too much stuff is generally the underlying issue. Maybe we need to make timeslider more aware of whether the map tiles have finished loading. Not entirely sure how we do that, but that's my hunch right now.

Wait, hmm, we're also not loading our time-based URL params here and looking closer at the errors:
Uncaught TypeError: this._timeslider is undefined
hmm, something is amiss obviously in loading the timeslider onto the page!

So, um, I got distracted and did other things for the whole day, came back to this tab and everything is loaded just fine.

But in the Network window we have 460 minutes to load 7+ MB of stuff. Now 7MB is kind of heavy but not insane. But 460 minutes is totally bonkers. that's nearly 8 hours!

This feels like an issue with slow tile loads to me. I just reloaded that view, https://www.openhistoricalmap.org/#map=7/54.448/16.436&layers=OD and I am getting the same behavior:

I was hoping I might have this stuff cached now and not have to wait 8 hours...
I do see a ton more boundaries here than we have had in the past. I wonder if we are hitting issues with too much vector data crammed into the tiles? Keep in mind that time filtering is all client side. I figured we'd confront this eventually, but not yet! Borders though might be killer.
But maybe there's some other explanation.

This does appear to be related to WHERE on earth we look.
This loads fine:
https://www.openhistoricalmap.org/#map=9/47.7624/-121.7086&layers=OD&date=1850&daterange=1800,2021
This takes longer, loads fine:
https://www.openhistoricalmap.org/#map=9/39.2865/-75.4362&layers=O&date=1970&daterange=1800,2021
Network panel shows <2 seconds for that second one

That same view on the vtiles preview is here https://vtiles.openhistoricalmap.org/#6/54.448/16.436 (for reasons unknown the vtiles z level is one tick off from OHM website):

Everything here loads in 4.75s, but we are missing that one tile. I wonder if our timeslider fails if even one tile hasn't returned?

The culprit is this tile https://vtiles.openhistoricalmap.org/maps/osm/6/34/21.pbf — it appears like a lot of data on that tile which takes Tegola more time to tile and before that the request times out. I'm going to enable debugging on the tiler to inspect the query. The current estimate based on a baseline on staging is that this tile is over 3MB.

I can reproduce this on staging as well. I mean the missing tile. @danrademacher I'm not sure if the slider/map breakage is due to this though.
Next steps for me is to find the layer that is heavy and then adjust the resolution and simplification.

Looking at this: https://vtiles.openhistoricalmap.org/#6/49.953/13.228
I see a lot of data in the Czech Republic:

Looks like maybe these edits: https://www.openhistoricalmap.org/changeset/13809 and related. Which is super awesome! And also maybe we need to be filtering some things out at lower zoom levels here?

We have another example of this, possibly overlapping the same area with too much data:
https://www.openhistoricalmap.org/#map=7/50.562/13.618&layers=O
If you load with network tab ope you'll see one tile that never finishes:

That's https://vtiles.openhistoricalmap.org/maps/osm/6/34/21.pbf -- loading that on its own just runs forever. Based on previous experience with this ticket, if I leave it open for many hours, it might eventually render

I think we'll revisit this after going through the current backlog of feature level issues. This might get resolved as we remove and adjust data. But I think the best solution to address performance is to move to ST_AsMVT and https://github.com/OpenHistoricalMap/issues/issues/208

Slow tiles causing crashed viewports remain a challenge. I am putting lots of detials here in case they help use find the right path forward.
On staging, Ruben has made progress on #208 to populate S3 cache. I just updated that issue with progress.
However, some tiles never make it to the cache, or at least not before a browser session stops waiting. Pulling notes from internal Slack discussion:
For a view of North America, we see things like this:

and

that was these two tiles:
https://vtiles-staging.openhistoricalmap.org/maps/osm/6/10/22.pbf
https://vtiles-staging.openhistoricalmap.org/maps/osm/6/11/22.pbf
I posted that at 10:10 am.
Ruben checked the cache and at 10:12 am, those tiles didn't exist in cache yet:

By 10:14 they'd been written to the cache:

I am not sure the precise minutes/seconds before gateway timeout, but the longest successful slow tile was about 3 minutes. So at 10:08 or so, a tile had taken 3 minutes. And the failed tiles didn't appear in S3 until 10:14. So those might be taking as long as 6 minutes to render.
Later in the afternoon, I tried a similar view and we had tiles again not present in S3 cache and not rendering quickly enough to work for real users (even if they succeed eventually):

These are tiles where Jeff completed a fair amount of state boundary additions AND based on #212 we added more boundaries to lower zoomed out tiles than we have before. Seems to create a similar situation as we saw earlier in this issue in Eastern Europe, where there's just so much data in the tiles that rendering is super slow.

Thanks to #208 and #232, these dense tiles are loading and timeslider is waiting for them to load, as here:

https://www.openhistoricalmap.org/#map=7/54.448/16.436&layers=OD&date=1850&daterange=1800,2021


downloading and using pretrained API models locally?

 It seems that in all tutorials and instructions here the main assumption is that models are trained from scratch. I would just like to download the latest models you have available via your API and use them locally. I can use your online API (e.g., via Python), but I'd rather use faster offline solution as I have tens of thousands of documents to process.
For example, see the docker for Turku NLP neural parser (http://turkunlp.org/Turku-neural-parser-pipeline/docker.html): Just few simple steps and you can use pretained models with your own texts. I was looking for something similar for Annif.

At the moment the pretrained models of Finto AI and api.annif.org are not publicly downloadable.
We have thought that the Annif/automatic indexing users would fall under two categories, those who just use it as a service via APIs/webform of Finto AI, and those who will have an own Annif installation for building their own models on their own vocabularies (this tutorial is targeted to these users).
I think we could make the models downloadable, but note that the current models used in Finto AI take 18 GBs of disk/RAM space (the Finnish models take 8 GBs; the Finnish fastText model is a bit bloated, it takes 6.1 GBs, we'll try to reduce this in the future). Also, in our evaluation runs the Finto AI API has been able to process roughly 1000 documents (theses) in 1 hour. This is when queries originated from the same network. If the speed is not much worse from your network, maybe using the API would still be an easier approach?

Ok, thanks for the information. I'm using API for now. It can process one (short) document in ~1.4s on average, which is ok. I'm not in hurry. If you can publish your models for download in near future, it would be great. At the age of huge deep neural networks, ~10-20GB for a model is not actually that bad :)

Hi @kauttoj, in case you still would like to download the Finto AI models, you now find them at https://annif.org/download/models/. There are both the current models (finto-ai-2021-04/ using YSO 2021.3.Epikuros) and ones from the previous update-round (finto-ai-2020-12/ using YSO snapshot from 2020-10-15).


"react/jsx-curly-spacing": [ 2, "always", { "spacing": {  "objectLiterals": "never" }}] errors on node context

I added spacing/objectLiterals config for jsx-curly-spacing and I think I am getting an issue.
  render() {
    return (
      <div
        onClick={ this.handleClick }
        style={{ color: "blue" }} // From doc, it should affect only this part right?
      >
        { // <- There should be no newline after '{'
          !this.state.clicked
          ? "Hi"
          : "Hey"
        } // <- There should be no newline before '{'
      </div>
    )
  }

The doc only show an example in props, not sure why it's yelling for nodes.

Yes, you're correct. If that's erroring out, it's a bug.


Modification to poll() defaults

Two things related to poll()

When creating the Powerwall object, it would be good to pass in a cache_expiration parameter that can adjust the cache expiration
It would be good to be able to override the cache with a Fetch=True parameter to poll()

If I make a pull request and make these changes, would you be interested in accepting them?

Hi @wcwong, yes, please submit a PR.  Your 2nd point was on my to-do list and the 1st one is a great addition.  Thanks for the suggestion and help!

ok. will do but please don't wait on me. I'm not sure how much time I'm going to have until the weekend and I still need to figure out PRs (the last time I contributed something, it was back in the days of email'ing diffs... :)

Ha!  Thanks, @wcwong, but now I really want you to have the opportunity to submit a PR!  It's so much easier now.  Github will do a lot of the work for you, and honestly, I would love to have your help. :)
If you are willing, give it a try this weekend.

Hi @wcwong Thanks for the PR!  Good job.
I noticed that you are not showing up as a contributor.  This can happen if the email you used to commit the change is not mentioned in your github profile.  You should be able to fix it:

Go to https://github.com/settings/emails
Add your email to 'Add Email address'

The email address you used can be seen here: https://github.com/jasonacox/pypowerwall/commit/2454b5ed24e402659931effe3236555568819037.patch


feat(upgrade-job): disable drain when frontend node is ANA-incapable

Requires #377.
Changes:

Disables node drain during data-plane upgrade if, for a node a frontend_node of a volume target lies on a node which is ANA-incapable.

Please rebase this before I can review..

Please rebase this before I can review..

Hi, rebased!


Fail to distinguish MySQL default expression / value

thread 'main' panicked at 'assertion failed: `(left == right)`

Diff < left / right > :
<"CREATE TABLE `order` ( `id` int NOT NULL AUTO_INCREMENT, `total` decimal(19, 4), `bakery_id` int NOT NULL, `customer_id` int NOT NULL, `placed_at` datetime NOT NULL DEFAULT '2021-11-05 00:00:00', KEY `FK_order_bakery` (`bakery_id`), KEY `FK_order_customer` (`customer_id`), PRIMARY KEY (`id`), CONSTRAINT `FK_order_bakery` FOREIGN KEY (`bakery_id`) REFERENCES `bakery` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_order_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"
>"CREATE TABLE `order` ( `id` int NOT NULL AUTO_INCREMENT, `total` decimal(19, 4), `bakery_id` int NOT NULL, `customer_id` int NOT NULL, `placed_at` datetime NOT NULL DEFAULT 2021-11-05 00:00:00, KEY `FK_order_bakery` (`bakery_id`), KEY `FK_order_customer` (`customer_id`), PRIMARY KEY (`id`), CONSTRAINT `FK_order_bakery` FOREIGN KEY (`bakery_id`) REFERENCES `bakery` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_order_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"

', tests/live/mysql/src/main.rs:56:9

Is it fixed now?

Not yet fixed

I was about to take on this issue as a first issue in the rust world specifically, however, I have not been able to reproduce the issue.
This is what I've done:
Updated code
Added a .default() to the placed_at column of the orders table with value "2021-11-05 00:00:00"
Snippet
 .col(
            ColumnDef::new(Alias::new("placed_at"))
                .date_time()
                .not_null()
                .default("2021-11-05 00:00:00"),
        )

Result
Expected SQL:
CREATE TABLE `order` ( `id` int NOT NULL AUTO_INCREMENT, `total` decimal(19, 4) UNSIGNED, `bakery_id` int NOT NULL, `customer_id` int NOT NULL, `placed_at` datetime NOT NULL DEFAULT '2021-11-05 00:00:00', KEY `FK_order_bakery` (`bakery_id`), KEY `FK_order_customer` (`customer_id`), PRIMARY KEY (`id`), CONSTRAINT `FK_order_bakery` FOREIGN KEY (`bakery_id`) REFERENCES `bakery` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_order_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
Generated SQL:
CREATE TABLE `order` ( `id` int NOT NULL AUTO_INCREMENT, `total` decimal(19, 4) UNSIGNED, `bakery_id` int NOT NULL, `customer_id` int NOT NULL, `placed_at` datetime NOT NULL DEFAULT '2021-11-05 00:00:00', KEY `FK_order_bakery` (`bakery_id`), KEY `FK_order_customer` (`customer_id`), PRIMARY KEY (`id`), CONSTRAINT `FK_order_bakery` FOREIGN KEY (`bakery_id`) REFERENCES `bakery` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_order_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

Please let me know if the above steps validate that this issue no longer exists 😃

Hey @assemmarwan, thanks for the initiative! How about the other way round? A default expression.
 .col(
            ColumnDef::new(Alias::new("placed_at"))
                .date_time()
                .not_null()
                .default(Expr::current_timestamp()),  // <------------
        )

the same issue, in mysql table a column has a default value "hello".
// want
`field1` varchar(64) NOT NULL DEFAULT "hello" COMMENT 'the field',
// but got
`field1` varchar(64) NOT NULL DEFAULT hello COMMENT 'the field',

@tests/write/mysql/src/main.rs

@thinkgos Can you submit a reproducible example?


NTR: capsule fruit thickness

Def: A capsule fruit morphology trait (TO:0001078) which is the thickness of a fruit capsule (PO:0030091). It is measured across the carpel (PO:0009030).
Ref: DOI: 10.1007/978-3-319-98098-0_2
Exact syn: capsule thickness
SubClassof: TO:0001078 capsule fruit morphology trait
ORCID: 0000-0001-9832-772X

capsule fruit thickness (TO:0001133): A capsule fruit morphology trait (TO:0001078) which is the thickness (PATO:0000915) of a capsule fruit (PO:0030091).

synonym: capsule thickness (exact)


Tests build fails with cannot find -lxtensor

Headers-only library should not look for xtensor library.

Can you provide more context (compiler, platform, cmake version) ? The test library does not link with xtensor library but with the target xtensor, which is the standrad way of writing modern cmake, even for header only libraries.


Allow long docId in URL

Currently, the URL to open document is of the form https://mysite.grist.mydomain.com/o/docs/{shortDocID} where shortDocId has a length of 12 characters.
But when inspecting the file system documents, they have ID's with a length of 22 characters.

Sorry, this issue is actually not relevant (I misunderstood something).


Ops: get CICD server talking to the outside

Task Description
The new CICD server needs to be externally reachable
Task Notes

setup load balancer with similar rules to the GPU node
get certs and a reachable DNS

@pixelsaurus Bugging Ross a lot so seeing if you can give me some context here.
I'm currently working on https://github.com/trendscenter/coinstac/issues/1329 and want to learn more about what we've already done regarding container management, testing, and deployment. Any context is welcome, but here are some specific questions:

What are the names and locations of any servers involved in testing or CI/CD, including this "new" server?
How are they currently being used? Similarly, how are they currently configured?
What would you like to see done differently in this area?
What do you like that we are already doing?

Rough thoughts are OK here. Anything to save me time poking around.

We use CircleCI, but I haven't been very involved in setting up that testing env. You might ask Eduardo?


Only add the object to the queue if it has changed.

This change will essentially disable the periodic reconciliation of the watched resource. Since we don't currently have a way to re-queue the event for the primary resource upon changes to other related resources (#146) the periodic reconciliation is a necessary requirement.
You can disable the periodic reconciliation by specifying a time period of 0 as the Watch resync period to stop getting update events for an unchanged resource for now:
sdk.Watch(apiversion, kind, namespace, 0)

Please feel free to open up an issue to discuss this further if you have other ideas but I'm not sure the current approach would work.

I would prefer that the owned resources would be automatically or manually watched. It an owned resource changes I want to be able to react to it. I don't want check all my owned resources for changes periodically. I want to know if they have changed.
Ideally, I would like sdk.Create to give me an option to watch all sub-resources created by it. I would also like the option to subscribe to their events.
This will give me the option to propagate relevant events on my resource, by sending them on to my event recorder.


PhoneNumberMixin forces field name and can't be used with two fields

The current implementation of the PhoneNumberMixin makes it impossible to customise the field name. It also is impossible to use it with more than one phone number field.
We should investigate if we can instead specify field name(s) as an attribute, or convert it into a custom form field.

Fixed by PR #2499.


Adding Card-Sorting feature

This pull request adds automatic sorting to the Codechef-cards. When inserting a new element, the correct location is selected and the new card will be inserted at that exact location. This PR closes issue #3 .

Overall, great work👍

Ok, I'm going to ope a new issue and close this pull request.


Different timer can run at the same time

It is possible to start n amount of timers, which doesn't make sense in real life, because everyone can only work on one task at a time.
Solution:
Stop running timer automatically if the user wants to start another timer.

Well, I can counter-example it with one time for general "work" and different timers for subtasks running at the same time. But perhaps you are right that it could be an option to allow only one timer at a time. I'll look into it.

I wouldn't recommend to have 2 timers at the same time for the main and sub task. This would falsify the data, if you use external tools to calculate how much time you invested in total in a single project.
Maybe overkill, but showing the total time behind the main task, which was invested for all sub tasks, could help people who are doing time blocking. But like I said, it might be overkill and a slim software should stay slim and features like this should be something for external tools.
Personally I even use other tools to track my time, trying to use tools, which are following the unix philosophy:

Do one thing and do it well

Hi, I just uploaded a version 2.5.3 in which you can set a setting one_timer_at_a_time = yes. Then it functions like you requested :)


debayer_processing parameter is missing in r200_nodelet_rgbd.launch

System Configuration
Please complete Your Configuration detail below. Refer to the BKC at Configuration.

Version
Your Configuration

Operating System
Ubuntu 16.04.2 LTS

Kernel
4.4.0-72-generic

ROS
kinetic

ROS RealSense
1.7.2

librealsense
1.12.1

Camera Type-Firmware
<IP_ADDRESS>

Expected Behavior
I can disable debayer_processing r200_nodelet_rgbd.launch.
Actual Behavior
I cannot disable debayer_processing r200_nodelet_rgbd.launch. debayer_processing parameter is missing in  r200_nodelet_rgbd.launch.
Steps to Reproduce

Thank you ! Resolved.


Review of Privacy Analysis

Updates being made in draft:
https://docs.google.com/document/d/1GZOMyhhCzl42Fb5QkuyylDLoKGBDchK8oC5kYTujghU/edit#heading=h.5ubrbbgqz9jb