Unable to install v0.2.4 on Windows but v0.2.3 works

Windows 10 Installation issue
While I am able to install and use glocaltokens==0.2.3 on my machine v 0.2.4 is giving me the following error.
Setup details:
Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)] on win32
    ERROR: Command errored out with exit status 1:
     command: 'c:\pythonenv\venv3\scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\samapriya\\AppData\\Local\\Temp\\pip-install-e9v3zubr\\glocaltokens\\setup.py'"'"'; __file__='"'"'C:\\Users\\samapriya\\AppData\\Local\\Temp\\pip-install-e9v3zubr\\glocaltokens\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: C:\Users\samapriya\AppData\Local\Temp\pip-install-e9v3zubr\glocaltokens\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\samapriya\AppData\Local\Temp\pip-install-e9v3zubr\glocaltokens\setup.py", line 7, in <module>
        HISTORY = history_file.read()
      File "C:\Program Files\Python38\lib\encodings\cp1252.py", line 23, in decode
        return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 107: character maps to <undefined>
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

I was able to install pycryptodomex based on instructions on their page and I am running v0.2.3 in the meantime.

What is your installation method for Windows? VM?

@leikoilja It seems to relate to this problem here

Ou.... that's a very particular issue 🤔
I currently only have mac os / Linux to play with, but would any of you guys @samapriya or @DurgNomis-drol be interested in digging a bit more how we can read from the HISTORY file having it encoding compatible?
glocaltokens\setup.py", line 7, in <module>
        HISTORY = history_file.read()

@leikoilja Is the HISTORY.md file encoded in utf8?

@DurgNomis-drol yes, it has emojis :)

@KapJI Ah thanks, didn't know that 😄
A simple fix would be this:
with open("README.md", encoding="utf8") as readme_file:
    README = readme_file.read()

with open("HISTORY.md", encoding="utf8") as history_file:
    HISTORY = history_file.read()

@leikoilja btw, history is also missing some recent versions

I m wondering if it's even worth keeping. Does anyone know how to omit it reusing release notes instead on pypi? 😅🤷♂🤔
The history file seems only to be used in pypi, so if it's possible to drop it, we should do it 😅

I will just wait to open a PR if you decide to just delete it 😄

Thank you all I love the community support here, also wondering if a CI using github workflows would be useful to check for different OS and python versions. @leikoilja  Adding a gist here
https://gist.github.com/samapriya/1c3256629597251e2ca2efabfea35280
@leikoilja I am using this for a Google Home tool here, for now I fixed the requirements to be 0.2.3. Happy Monday everyone

That sounds like a great cli tool to come! 💥🤩
@samapriya, that's a great suggestion, feel free to open a PR here with your gist, it will be easier to merge 😂
In a meanwhile I'll do some reading if we need the history file at all and if not, we ll just drop  it :)

Thanks @leikoilja
Created the PR with branck glocaltokens-ci :)

I m wondering if it's even worth keeping. Does anyone know how to omit it reusing release notes instead on pypi? 😅🤷♂🤔
The history file seems only to be used in pypi, so if it's possible to drop it, we should do it 😅

I think it can be dropped from pypi and kept only on github releases. Poetry for example doesn't provide instruments to set history for pypi at all. Will be easier to maintain.


Fixes #17 wrong url path for vision_wasm

update @mediapipe/tasks-vision to v0.10.6
Duplicated #18 but now CLA is signed.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


WebAccess: delete user accounts

Deleting user account via WebAccess, does not remove groups who has been created by these users ( user_usergroup and usergroup table)

@BessemAamira Which Invenio version is this for?

@tiborsimko  version 1.1.6

This would require a feature flag, becase removing groups may or may not be a good idea:

Use case 1: a real user created a topical group and would like to "hand it over" to somebody else. (We should not delete groups in this case, only change "owner".)

Use case 2: a user created many test accounts and test groups, and the administrator would like to remove them all easily.

Since Invenio 1.1 is an "old" stable release that is feature frozen, we'd have to implement this in later Invenio versions, such as forthcoming Invenio 1.3 legacy release. Please open a new issue if you still need this?
(Otherwise, as an admin, please note that you can use dbexec and alter SQL tables manually.)


about own datasets

Hello, thank you very much for your work on the stylized dataset. As a beginner in this field, I want to conduct experiments by training with my own private dataset. I plan to create my own content images and manually create their content text descriptions. For the style aspect, I will use your StyleGallery.jsonl file. Could you please provide me with some steps or suggestions?

Hi @fumoab , thank you for your interest in our work. What are your content images look like?

Could you please post some of your content images on this issue window?

What will your final stylized image look like?

What will your final stylized image look like?

These are images I generated using traditional style transfer techniques.

I suggest you to inference on our  StyleShot_lineart, a version taking the lineart of content image as highly detailed control.

I suggest you to inference on our StyleShot_lineart, a version taking the lineart of content image as highly detailed control.

Thank you very much, I'm going to try it!


add a flag for timezone

This could be a good idea. I plan to re-open this issue if this is running on a server not in the timezone of the user.

Maybe this is an issue if the user runs the chatbot on a server that is not in the same timezone.


Spring Boot Actuator endpoint /pause shuts Tomcat application server down

Describe the bug
We recently upgraded from spring boot 2.1.6.RELEASE to 2.3.1.RELEASE. After that we realized that the endpoint /ops/pause is not functioning any longer. Before it stopped two kafka consumers in our application. Now it seems to also shutdown the spring boot managed tomcat server. After the call we cannot get any requests working. The server refuses any connection after that but the application is still running (no exit codes in the log).
Sample
Don't have one right now but I can create a sample project if it helps.
Workaround
Revert back to 2.1.6.RELEASE as we do not need any of the new features or bug fixes.
More info

Java 11
Spring Boot 2.3.1.RELEASE

Management related properties in our application.properties:
management.health.status.order=DOWN, UP
management.endpoint.jolokia.enabled=true
management.endpoint.metrics.enabled=true
management.endpoint.pause.enabled=true
management.endpoint.resume.enabled=true
management.endpoint.restart.enabled=true

management.endpoints.web.exposure.include=*
management.endpoints.web.base-path=/ops

The log after calling /ops/pause:
2020-07-13 11:55:15,347 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.coyote.http11.Http11NioProtocol - Pausing ProtocolHandler ["http-nio-31016"]
2020-07-13 11:55:15,355 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.catalina.core.StandardService - Stopping service [Tomcat]
2020-07-13 11:55:15,357 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.catalina.core.StandardWrapper - Waiting for [1] instance(s) to be deallocated for Servlet [dispatcherServlet]
2020-07-13 11:55:16,363 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.catalina.core.StandardWrapper - Waiting for [1] instance(s) to be deallocated for Servlet [dispatcherServlet]
2020-07-13 11:55:17,389 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.catalina.core.StandardWrapper - Waiting for [1] instance(s) to be deallocated for Servlet [dispatcherServlet]
2020-07-13 11:55:17,493 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet'
2020-07-13 11:55:17,500 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-31016"]
2020-07-13 11:55:17,503 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 WARN  o.apache.tomcat.util.net.NioEndpoint - The executor associated with thread pool [http-nio-31016] has not fully shutdown. Some application threads may still be running.
2020-07-13 11:55:17,504 [http-nio-31016-exec-2] traceId=3b2fc7d64f4e0d82 spanId=3b2fc7d64f4e0d82 INFO  o.a.coyote.http11.Http11NioProtocol - Destroying ProtocolHandler ["http-nio-31016"]
2020-07-13 11:55:17,542 [http-nio-31016-exec-2] traceId= spanId= ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
java.lang.NullPointerException: null
	at java.base/java.util.Objects.requireNonNull(Objects.java:221)
	at io.micrometer.core.instrument.ImmutableTag.<init>(ImmutableTag.java:35)
	at io.micrometer.core.instrument.Tag.of(Tag.java:29)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcTags.method(WebMvcTags.java:74)
	at org.springframework.boot.actuate.metrics.web.servlet.DefaultWebMvcTagsProvider.getTags(DefaultWebMvcTagsProvider.java:74)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.getTimer(WebMvcMetricsFilter.java:169)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.record(WebMvcMetricsFilter.java:129)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:105)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:834)
2020-07-13 11:55:17,546 [http-nio-31016-exec-2] traceId= spanId= ERROR o.a.coyote.http11.Http11Processor - Error processing request
java.lang.NullPointerException: null
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:412)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:834)
2020-07-13 11:55:17,547 [http-nio-31016-exec-2] traceId= spanId= WARN  o.a.catalina.connector.CoyoteAdapter - Exception while attempting to add an entry to the access log
java.lang.NullPointerException: null
	at org.apache.catalina.connector.CoyoteAdapter.log(CoyoteAdapter.java:490)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:403)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:834)

A colleague of mine found out that in the class DefaultLifecycleProcessor all beans are collected which will be shut down. If you call the mentioned actuator endpoint the list of beans is the following for us:

documentationPluginsBootstrapper
org.springframework.kafka.config.internalKafkaListenerEndpointRegistry
webServerGracefulShutdown
webServerStartStop

Would you mind creating a sample app so we can take a look?

Sure, no problem:
https://github.com/moritzluedtke/spring-actuator-problem
I could not reproduce the NPE. We assume that the service wanted to write something to the logs but the tomcat was already in shut down mode and the log was no longer available.
But you can see how the /pause command takes down the tomcat and the application.
We also did a bunch of testing and found out that this started to happen with spring boot version 2.3.0.RELEASE. The spring-cloud-dependencies did not seem to affect this issue as it appears in both Greenwich.SR2 and Hoxton.SR6

Did anyone had a chance to take a look at this?

This behaviour is still present in spring-boot 2.3.2.

Same issue for me.
Calling /actuator/pause return no awswer. Connection is closed before ...
curl -i -X POST    -H "Authorization:Bearer xxxxxxx"  'http://localhost:48880/secure/pause'
--> curl: (52) Empty reply from server

Unable to call resume ,info or health after pause
curl -i -X POST    -H "Authorization:Bearer xxxxxxx"  'http://localhost:48880/secure/resume'
--> curl: (7) Failed to connect to localhost port 48880: Connexion refusée

In discovery application the paused service is marked as down and the PID (with ps command) is present.

@moritzluedtke : No news ?

Hey @olagache,
I'm only the reporter of this issue. I am not involved in the development of the spring framework or it's dependent projects.
So I guess we have to wait for an answer from the devs of this project.

Pause simple calls this.context.stop() where context is the spring application context. Boot may have changed things enough that pause no longer works. @dsyer thoughts?

Looks like we need to have a broader conversation with the boot team. @philwebb did graceful shutdown change the behavior of servlet containers to use lifecycle methods to shut down? There are use cases where stopping the context is valid while keeping the app up. /cc @garyrussell @olegz

Did graceful shutdown change the behavior of servlet containers to use lifecycle methods to shut down

Yes, the change to integrate with the context lifecycle was made based on user feedback on 2.3 RC1. See https://github.com/spring-projects/spring-boot/issues/21325 for some details.

Any updates on this from the Spring Boot team? This change is causing our deployment flow to fail since we rely on the endpoints to pause the application and allow to drain prior to deployment.

@mk352, I'm a member of the Boot team.

@wilkinsona Was this implemented by design or is this a bug? I'm currently using V2.3.2 and wondering if I should revert until this is resolved.

It is by design. As I said above, the change was made following user feedback on 2.3 RC1. Basing graceful shutdown on the application context's lifecycle allows other components to participate in the shutdown, something which was not possible previously.
I'd argue that it's correct that the application should stop accepting requests when it has been paused. IMO, the problem is really that pause either results in the application exiting (if there are no non-daemon threads left running) or not being able to make a resume request over HTTP. It may be possible to circumvent the latter by using JMX.

Pause simpl[y] calls this.context.stop()

That doesn't seem right to me; pause is a first class concept for Kafka consumers - keep the consumer alive but don't consume any records.
Containers for @KafkaListeners can be paused/resumed using the KafkaListenerEndpointRegistry.
this.listenerRegistry.getListenerContainers().forEach(cont -> cont.pause());

Spring Integration components implement Pausable which is a sub-interface of LifeCycle.
Spring Cloud Stream has an endpoint for pausing/resuming consumer bindings.

Seems like we need to fix this endpoint in Spring Cloud Commons. It probably should have an extension point that can be implemented for the various flavours above and dropped into conditional autoconfigurations. Spring Cloud Stream shouldn't (IMO) have its own endpoint for this, since the whole reason for the Commons one to exist was to provide that functionality, so it should probably deprecate it and provide some autoconfiguration for the hook that we provide. Or maybe it wouldn't need to if all it is doing is calling Pausable.pause() because that's generic enough that Commons can do it (at the expense of one more optional dependency).

I agree that a paused application should not accept requests but I disagree that it should be completely shut down. That is not something I would expect from the word pause.
As @garyrussell already said this is used with Kafka and that is the way we use it in our deployment pipelines, too.
Pause the consumers, so that every message was consumed normally and nothing gets lost. Then kill the application and deploy a new one.

but I disagree that it should be completely shut down

I don't think anyone's arguing that's what should happen. The current implementation relies upon the web container's request-handling threads to keep the JVM alive during the pause. If it wants to be certain that the JVM will remain alive while everything has been paused, it needs to ensure that a non-daemon thread that it controls is alive for the duration of the pause.

If you want to "kill the application and deploy a new one" @moritzluedtke then I would argue that /shutdown is the correct endpoint. The current behaviour of /pause is wrong (in fact it has always been wrong, but this new graceful sutdown feature in Boot has only just now made us notice), so the idea is to fix it.


GCS backend implementation

This implements GCS backend support. Additionally I changed some things which might be intended so lets discuss:

tar functionality now supports subfolders; too many open files error should be resolved
bucket prefix default to "" instead of "/"; seems this is not implemented for S3 anyway
introduction of general helper function to address bucket objects based on the context; should be used for S3 backend as well

Moreover I vote for renaming parameters s3-bucket and s3-prefix as it can be used for GCS as well.

@heimweh please have another look.

@heimweh please have another look.


MacOS

The Diagram shows "Device is iOS, macOS, or Android"
https://docs.microsoft.com/en-us/azure/active-directory/devices/plan-device-deployment#decision-tree-for-devices-integration
but none of the article discusses how macOS is Azure AD Registered. I believe the correct answer is when the Intune Company portal app is installed on macOS. Could this documentation be updated to explicitly list macOS just as it does the other types? It's odd that it is shown in the picture but not the supporting text.  Ideally we would like to confirm what the expected SSO experience is on macOS.
Thanks!

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

ID: a61e732b-598f-0f74-ec52-8167b4ffacf0
Version Independent ID: 4e853408-bc43-d9d3-dcf6-12b475499898
Content: Plan your Azure Active Directory device deployment
Content Source: articles/active-directory/devices/plan-device-deployment.md
Service: active-directory
Sub-service: devices
GitHub Login: @BarbaraSelden
Microsoft Alias: baselden

@itguysocal Thank you for your inputs. We have engaged the content author for reviewing your suggestions.

this is great feedback. thank you. I will assign to one of our SMEs.

macOS is covered more in https://docs.microsoft.com/mem/intune/enrollment/macos-enroll
Adding this to my backlog of docs work I have planned for this half of the year. Will add a note when content is updated.
#please-close


Supported file format in C#

Thanks for publishing the beginning of the C# library. I'm looking forward to using it.
I have a question about the file format that is supported. I am trying to read a file into C# that I have created using the python Arrow libraries. I assume that I am doing something wrong.

Attempt 1: pq.write_table(table, "mytable.parquet")
Attempt 2:

a = table.to_batches()
buffer = a[0].serialize()
from pyarrow import OSFile
with pa.OSFile("mytable.fromstream", "wb") as f:
    f.write(buffer)

And on the C# side, reading like this:
[Fact]
            public async Task TestReadFile()
            {
                using (var stream = System.IO.File.OpenRead("myFile"))
                {
                    using (var reader = new ArrowFileReader(stream))
                    {
                        var recordBatch = await reader.ReadNextRecordBatchAsync();
                        System.Console.WriteLine("Read record batch with {0} column(s)", recordBatch.ColumnCount);
                    }
                }
            }

In both cases, the result is the same exception:
Apache.Arrow.Tests.ArrowBufferTests+Allocate.TestReadFile:
    Outcome: Failed
    Error Message:
    System.IO.InvalidDataException : Invalid magic at offset <6>
    Stack Trace:
       at Apache.Arrow.Ipc.ArrowFileReader.<>c__DisplayClass14_0.<<ValidateMagicAsync>b__0>d.MoveNext() in /home/mitt/source/arrow/csharp/src/Apache.Arrow/Ipc/ArrowFileReader.cs:line 197
--- End of stack trace from previous location where exception was thrown ---
   at Apache.Arrow.Ipc.ArrowFileReader.ValidateMagicAsync() in /home/mitt/source/arrow/csharp/src/Apache.Arrow/Ipc/ArrowFileReader.cs:line 179
   at Apache.Arrow.Ipc.ArrowFileReader.ValidateFileAsync() in /home/mitt/source/arrow/csharp/src/Apache.Arrow/Ipc/ArrowFileReader.cs:line 167
   at Apache.Arrow.Ipc.ArrowFileReader.ReadSchemaAsync() in /home/mitt/source/arrow/csharp/src/Apache.Arrow/Ipc/ArrowFileReader.cs:line 83
   at Apache.Arrow.Ipc.ArrowFileReader.ReadNextRecordBatchAsync(CancellationToken cancellationToken) in /home/mitt/source/arrow/csharp/src/Apache.Arrow/Ipc/ArrowFileReader.cs:line 144
   at Apache.Arrow.Tests.ArrowBufferTests.Allocate.TestReadFile() in /home/mitt/source/arrow/csharp/test/Apache.Arrow.Tests/ArrowBufferTests.cs:line 95
--- End of stack trace from previous location where exception was thrown ---

It appears that the buffer of the file does not match the magic buffer sequence. Here is my sequence:
[0] [byte]:172
[1] [byte]:1
[2] [byte]:0
[3] [byte]:0
[4] [byte]:20
[5] [byte]:0

I assume my python code is not generating the proper Arrow file.
Thanks

Your code above is writing Parquet file and in the second attempt serialized objects. Both are not the Arrow file format.
You want to take a look at https://arrow.apache.org/docs/python/ipc.html#writing-and-reading-random-access-files

Thanks, @xhochy .
I used the following python code to write the arrow file format to disk.
hdf = pd.HDFStore("Myhdf.h5")
t5 = hdf["/5T/5T"] # This is a pandas dataframe
batches = table.to_batches()
filehandle = open('myfile', 'wb')
writer = pa.RecordBatchFileWriter(filehandle, batches[0].schema)
writer.write(batches[0])
writer.close()
filehandle.close()


Hombrew bundle fails: Error: caskroom/cask was moved. Tap homebrew/cask-cask instead

When attempting to tap caskroom/cask, the mac script fails with:
$ sh mac 2>&1 | tee ~/laptop.log

Changing your shell to zsh ...

Adding '/usr/local/bin/zsh' to /etc/shells
...
Error: caskroom/cask was moved. Tap homebrew/cask-cask instead
...
Using redis
Homebrew Bundle failed! 1 Brewfile dependency failed to install.
failed

Expected Behavior
Script succeeds while tapping the new cask location instead of the old one.

Thanks! Closed by https://github.com/thoughtbot/laptop/pull/567


Discuss with John how to embed the model in project life cycle

Idea shared with John who suggested to work on it.
The idea was mentioned also during last TAC.
I will remind him.

Can be mentioned at the TAC meeting as part of the role of the official working group.

Make it part of acceptation criteria of the incubation stage.


chore: add Jakob Möller to CODEOWNERS

This is my submission to officially become a maintainer of the TopoLVM project.
A list of my previous contributions can be found here
I like the project and would like to continue my investment into TopoLVM. As maintainer of LVM Operator in Openshift I maintain a valuable downstream as well that contributes to TopoLVMs usage in the Red Hat Ecosystem.

Based on the frequency of your recent contributions, we are considering accepting you as a replacement for Mr. Suleyman. Is this OK with Redhat's intention?

@llamerada-jp, yes, this is certainly fine. We're very happy that we could increase our contributions to TopoLVM after @jakobmoellerdev joined the team.

I updated the reviewer team.
@suleymanakbas91 many thanks for your contribution.
@jakobmoellerdev welcome to our team.


Fix count_atoms() to use deterministic counting

Today we are using the .estimated_document_count() method from the pymongo library. According to the documentation, this method is faster than .count_documents() but its result is an estimate of the number of documents in this collection. Therefore, it introduces uncertainty into the result. On the other hand, .count_documents() is slower but accurate. In addition to accepting a filter as a parameter.
https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection.count_documents:~:text=in version 3.7.-,estimated_document_count,-(comment%3A


Change State-related struct and field name

It is more idiomatic (restful) to use the same structure GET and POST endpoints that are similar.
Removing the StateChange struct and replace it renamed struct called VMState (was StateResponse).
go linting cleanups were also done, which required some slight refactoring.

/lgtm


ArcGIS Pro export functionality should use the same labels and symbology for the exported item.

Distance and Direction export functionality exports features to a new feature class however the exported feature class does not use the same symbology and label properties as the Distance and Direction add-in. Would like for the exported feature class to use the same symbology and label properties as the add-in.

it does this now for FC and SHP, exporting the same symbology to kmz is a limitation


Add bun package manager

Bun is definitely growing and dependency-cruiser works fine with it locally.  This adds it to your list of acceptable package managers - please let me know if I'm forgetting anything.

@ludicast
CI is down, but it seems to be a problem that also occurs in the main branch. Please take this one in.

https://github.com/MH4GF/dependency-cruiser-report-action/pull/275

@ludicast CI is down, but it seems to be a problem that also occurs in the main branch. Please take this one in.

fix: Remove packageManager field from package.json #275

cool - caught up to main :crossed_fingers:

https://github.com/MH4GF/dependency-cruiser-report-action/actions/runs/6989311066/job/19018112442
CI continues to fail... but this is a problem that pull requests from forked repositories must be on: pull_request_target to work.
There is a security concern, but this repository is not frequently maintained, so it will not be changed this time.

It works 👍🏻

https://github.com/MH4GF/dependency-cruiser-report-action/pull/280#issuecomment-1826338862

v2.3.0 🚀


No config.yaml file in the phototourism dataset

Describe the bug
I am trying to use the neuralreconW method which take advantage of the sfm sparse points. I downloaded the phototourism dataset from https://www.cs.ubc.ca/research/kmyi_data/imw2020/TrainingData/brandenburg_gate.tar.gz but there is no config.yaml file in it.  I got an error of No such file or directory: '/data/brandenburg_gate/config.yaml'.
To Reproduce
python scripts/train.py neusW --vis tensorboard heritage-data --data /data/brandenburg_gate
Error
FileNotFoundError: [Errno 2] No such file or directory: '/data/brandenburg_gate/config.yaml'
I double checked the brandenburg_gate directory and found no config.yaml file within it, how can I generate this file or where can I get it ?

Hi, we provided preprocessed data and it can be downloaded with ns-download-data sdfstudio --dataset-name heritage. The corresponding code is here https://github.com/autonomousvision/sdfstudio/blob/master/scripts/downloads/download_data.py#L240-L304

The heritage dataset is converted from https://github.com/zju3dv/NeuralRecon-W. If you want to create your own dataset, you can follow their guidelines. Here is the script https://github.com/autonomousvision/sdfstudio/blob/master/scripts/heritage_to_nerfstudio.py to convert their data format to sdfstudio.


Move graph_path argument out of graph_data arguments

As seen in issues like #73, it is problematic to have an additional argument passed to a function expecting to pass all kwargs to Ensmallen. It also complicates LinkML schema design.
The graph_path arg can still be optional, but should be provided independent of graph_data.

thanks, makes sense, and probably will simplify supporting linkML


Run duck array tests in separate CI jobs

What is your issue?
As a follow up to #9798 we should consider running a two CI jobs with pint, sparse, jax installed (one with latest version, one with minimum supported version), and remove them from the other jobs.
cc @slevang

It looks like sparse and pint are installed "as able" in the various CI environments (e.g. all-but-dask/numba, min-all-deps).
sparse is listed as an optional dependency in pyproject.toml, but is only imported twice in core code and only as a means of special casing some duck array handling thing, which could probably be removed. pint is not listed as an optional dependency.
My thought would be to:

remove pint/sparse/jax from the core CI environments
consider creating a new optional dependency group that gives some user guidance on the array frameworks we test and know mostly work. Today that would be array = ["sparse", "pint", "cupy", "jax"].
as suggested, create latest and minimum CI envs that test duck array integration stuff. Unless that should live externally (xarray-array-testing).

Sounds OK to me.
I'd also suggest restricting the running tests to only those that actually test duck array integration to save some CI time.


Export SlotDataPoint and Metadata.

Confirmed with @mgmeier that this issue is still open and will probably be moved to Q2 2024


Term request: Inert DNA spacer

Inert DNA Spacers, comprising inert DNA upstream and/or downstream of a promoter, have been used in multiple studies at this point, including:

Davis et al, NAR, 2011
Casini et al, ACS Syn Bio, 2014
Nielsen et al, Science, 2016
Carr et al, PLoS One, 2017
Sexton & Tabor, bioRxiv, 2019

The function of these sequences is to decrease regulatory interactions between a promoter, its 5' context, and/or the translational unit(s) it regulates.  Such spacers can thus affect activity in both transcription and translation.  I would thus suggest the term be placed directly under regulatory_region (SO:0005836)
This function is distinct from insulator (SO:0000627), which is currently defined to act specifically on transcriptional enhancement or chromatin encroachment.

Any response for this request?

Bump.  Can any maintainer either help fulfill this request or else explain what needs to be changed/clarified before you can do so?

Hi Jake,
This term has been added and should appear shortly on the SO website. The new term has been assigned an ID SO:0002223. I apologize for the delay.
Thanks,
Dave

Thank you @davidwsant !


Could you provide the label name of the VG500 subset and the download link of the dataset?

Thanks for sharing the code!
Could you provide the label name of the VG500 subset and the download link of the dataset?

Images: http://www.cs.virginia.edu/~jjl5sw/data/vision/VG500.tar.gz
Labels: http://www.cs.virginia.edu/~jjl5sw/data/vision/VG500_labels.tar.gz

Thank you!

where can i find the vocabulary of the labels in VG500，i am gonna try word embedding？

@weirukai it's the top 500 labels from the visual genome dataset: https://visualgenome.org/data_analysis/statistics

Thank you for sharing. But the download link is not accessible. Could you please update the link. Thank you very much. @jacklanchantin

Hi @THUeeY I'm working on getting the data back. My university department removed my home directory.

The links are updated in the readme. VG500 data is here:
Images: https://www.cs.virginia.edu/yanjun/jack/vision/VG500.tar.gz
Labels: https://www.cs.virginia.edu/yanjun/jack/vision/VG500_labels.tar.gz

Thank you very much!!


IPv6 support

It seems that this library currently is IPv4 only. It would be nice if IPv6 addresses were supported too.

I'd also like to see his implemented. I was trying to use this library with an IPV6 multicast address and it doesn't appear like there's any way to make it work. To elaborate, IPAddress.Any is used for binding to every interface, regardless of the address being passed in. There also doesn't appear to be a way to get a list of IPV6 CommsInterfaces.

I use this library in an iOS-App that is now rejected because of the lack of ipv6 support. Is it planned to add  support in the next time?

Mmm, that's important. I think it needs to be addressed quickly. Will be taking a look

@rdavisau any news on ipv6 support?

@rdavisau any newer news about ipv6 and netstandard2.0 ?
I really need this:D
btw. Thank You for amazing work upto now.


Not retrying when Exception is thrown

I have existing functions that I'm attempting to decorate as retriable, but I'm noticing that retry is not triggered when java.lang.Exception is thrown, I'm not sure if this is an issue with the upstream dependency, but I can repro it with this code:
(require '[resilience4clj-retry.core :as r])
(def retry (r/create "test-retry"))
(r/listen-event retry
                :RETRY
                (fn [_] (println "retrying...")))

;; 1. Exception
(def retriable-fn
  (r/decorate
    (fn [] (throw (Exception. "not good")))
    retry))

(retriable-fn)
;; Execution error at retry/fn (retry.clj:4).
;; not good

;; 2. ex-info
(def retriable-fn
  (r/decorate
    (fn [] (throw (ex-info "not good" {})))
    retry))

(retriable-fn)
;; retrying...
;; retrying...
;; Execution error (ExceptionInfo) at retry/fn (retry.clj:3).
;; not good

;; 3. Exception caught and re-thrown as ex-info
(def retriable-fn
  (r/decorate
    (fn [] (throw (ex-info "not good" {} (Exception. "not good"))))
    retry))

(retriable-fn)
;; retrying...
;; retrying...
;; Execution error at retry/fn (retry.clj:3).
;; not good

Throws java.lang.Exception and retry logic is never executed
Works as expected
Also works, but requires extra layer of try-catch

What am I missing here? Is there a config that I must add to catch java.lang.Exception?

Ok, I see the issue the published version of this library is using an older version of resilience4j-retry. In that version decorateCallable is catching RuntimeException and not Exception.
Manually setting the version in project.clj fixes this for me:
                 [io.github.resilience4j/resilience4j-retry "0.17.0"]
                 [resilience4clj/resilience4clj-retry "0.1.1"
                  :exclusions [io.github.resilience4j/resilience4j-retry]]

Not ideal, but this will all work out once master is published.


Move /var content to /usr/share/factory/var

Instead of dropping /var content on the floor, move it into /usr/share/factory/var.

Pairs with https://github.com/ostreedev/ostree/pull/3103

Will this also solve the problem of rpms installing under /opt? ...he asked while making doe eyes at @cgwalters
On the surface it seems like it would.

Will this also solve the problem of rpms installing under /opt?

The core issue remains that:

rollbacks won't roll back data in /var
Content that is added is never automatically deleted; so you can "leak" state

But yes, some will probably start working modulo those caveats.

From https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html (see https://github.com/ostreedev/ostree/pull/3103):
C, C+
           Recursively copy a file or directory, if the destination files or directories do not exist yet
           or the destination directory is empty. Note that this command will not descend into
           subdirectories if the destination directory already exists and is not empty, unless the action
           is suffixed with +. Instead, the entire copy operation is skipped. If the argument is omitted,
           files from the source directory /usr/share/factory/ with the same name are copied. Does not
           follow symlinks. Contents of the directories are subject to time-based cleanup if the age
           argument is specified.

If I understand correctly, I've found the following caveats to document:
On updates (N -> N+1), the following will happen:

Files added in N+1 are copied to /var.
Files removed in N+1 are not removed from /var. New installations will not have those files.
Files modified in N+1 are not copied to /var. New installations will have the N+1 version of those files.

On rollbacks (N+1 -> N):

Files added in N+1 are left in /var.
Files removed in N+1 are re-added to /var if something else removed them from /var in N+1.

In general, I think we should recommend users include another unit that calls to rsync (for example) with a list of files to update in sync between updates on boot. If they want files to be removed, they will have to make another unit.
I still need to verify that C+ does not overwrite existing files on update. This is unclear from the man page.


AttributeError when decoding

I've been playing with this and (at least with python 3) the following line causes an AttributeError: 'str' object has no attribute 'decode'
https://github.com/clach04/python-tuya/blob/01c123f899e0ded10554fb0a6fc5e64d20176d30/pytuya/__init__.py#L274
As I'm not familiar with the code yet I quickly fixed it locally with:
if not isinstance(result, str):
    result = result.decode()
result = json.loads(result)

Not sure how python2 behaves with all that.
I'm rather busy lately so I don't have the time to investigate further and come up with a proper fix.

@tadly when are you seeing this? When running the testsuite? What (sub-)version of Python?

@clach04 nope, not testsuite. Was a live test.
As the power strip wasn't working stable enough when disabling internet access on the router, I sent it back already. So I can't do more testing.
IIRC it was with both, python 3.5.3 and 3.6.5


Introduce avatars for staff accounts

Staff users should be able to set their profile pictures in the Dashboard 2.0:

Avatars would be displayed on various timelines (such as order history timeline) in the Dashboard 2.0. To make that possible, we need to first adjust the backend:

[ ] add the avatar image field to the User model
[ ] add a mutation to upload avatar image
[ ] add a mutation to clear the avatar
[ ] add a field to fetch the avatar when querying for the user's data

There are a few placeholders available on Figma that we can use in populatedb to generate example avatars.
This issue is related to backend only, for the Dashboard 2.0 we'll open a separate issue once backend is ready.

I think this can be extended to that customers are also able to set their avatars in storefront 2.0 in later development?

I rarely see avatars for customers in other e-commerce platforms. Since we have the same model for staff users and customers, it'll be easier to add in the storefront, but I guess we won't do that for now.

That's true.

@maarcingebala ok, I'll take a look what we already have and I'll stick with the dark ones.


Consistent light theme controls

The WpfUI light controls look inconsistent with the microsoft official winui3 fluent styles.
Here is what i mean:

I would like these controls to be reworked, to be more official and fluent. Plus i think the demo app should be replaced with an controls gallery like the official WinUI3 controls gallery.

This has been resolved in the latest previews


Why EC certs and not RSA?

I'm just relaying the question while I was investigating into the direction of getting EC cert support to the fundamental rust ssl libraries, I can't give a solid answer myself:
https://github.com/ctz/rustls/pull/409#issuecomment-720709802

My question there isn't "why use EC certs instead of RSA" but rather "Why use a non-standard format instead of a standard format?" PKCS#8 isn't great but it is much more universally supported.

Oh thanks! I felt the need for making the title more palpable, but that came at the expense of accuracy.

@briansmith It doesn't seem there is emerging a compelling answer to your question, so I'm closing this.


[SPARK-25081][Core]Nested spill in ShuffleExternalSorter should not access released memory page (branch-2.2)

What changes were proposed in this pull request?
Backport https://github.com/apache/spark/pull/22062 to branch-2.2. Just two minor differences in the test:

branch-2.2 doesn't have SparkOutOfMemoryError. It's using OutOfMemoryError directly.
MockitoSugar is in a different package in old scalatest.

How was this patch tested?
Jenkins

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2055/
Test PASSed.

Test build #94581 has started for PR 22072 at commit 1a6452e.

LGTM

Test build #94581 has finished for PR 22072 at commit 1a6452e.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94581/
Test FAILed.

retest this please

Test build #94589 has started for PR 22072 at commit 1a6452e.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2061/
Test PASSed.

Merged build finished. Test PASSed.

Test build #94589 has finished for PR 22072 at commit 1a6452e.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94589/
Test FAILed.

* checking CRAN incoming feasibility ...Error in .check_package_CRAN_incoming(pkgdir) :
  dims [product 26] do not match the length of object [0]

jenkins retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2068/
Test PASSed.

Test build #94597 has started for PR 22072 at commit 1a6452e.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94597/
Test FAILed.

retest this please

ok to test

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2083/
Test PASSed.

Test build #94624 has finished for PR 22072 at commit 1a6452e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94624/
Test PASSed.


Rename fetching.ts to fetcher.ts

Hi,
I saw where there was a need to rename this file to fetcher.ts from fetching.ts
Happy to make other changes and will check others docs for work. Thank you.
All Submissions

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions

[x] Does your submission pass tests?
[x] Have you lint your code locally prior to submission?

Changes to Core Features

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran tests with your changes locally?

@carriecrowe1138 the function on file, fetching.ts contains a function export, which is imported in utils.ts see, you have to make changes here also in order to merge this PR.

@carriecrowe1138 the function on file, fetching.ts contains a function export, which is imported in utils.ts see, you have to make changes here also in order to merge this PR.


[Azure Cache for Redis] Configure Private Endpoint Connection commands and added help examples for Azure Cache for Redis

Description
Configure private-endpoint-connection commands for Azure Cache for Redis.
Added help examples for Azure Cache for Redis.
Testing Guide
private-endpoint-connection Commands
Show private endpoint
az network private-endpoint-connection show
example:
az network private-endpoint-connection show --id "/subscriptions/{subscriptionId}/resourceGroups/MyResourceGroup/providers/Microsoft.Cache/Redis/MyCache/privateEndpointConnections/MyPrivateEndpointConnection"
Reject connection status
az network private-endpoint-connection reject
example:
az network private-endpoint-connection reject --id "/subscriptions/{subscriptionId}/resourceGroups/MyResourceGroup/providers/Microsoft.Cache/Redis/MyCache/privateEndpointConnections/MyPrivateEndpointConnection"
Delete Private Endpoint
az network private-endpoint-connection delete
example:
az network private-endpoint-connection delete --id "/subscriptions/{subscriptionId}/resourceGroups/MyResourceGroup/providers/Microsoft.Cache/Redis/MyCache/privateEndpointConnections/MyPrivateEndpointConnection"
History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

private link for Redis


Add workspace Cargo.lock files

Fixes #355

If #359 works it might be nice to redo this on top of that, which gets rid of rouille, for example.

I think it would make more sense to rebase #359 after #358. This way we can see the impact of efforts like #359 on the dependencies.

What's the procedure for updating the Cargo.lock files?

If I don't do anything special, #359 will have no effect on the Cargo.lock files: unused crates will still be mentioned there. If I regenerate the Cargo.lock files, there will be lots of changes that have nothing to do with #359.

If you make a change to Cargo.toml files that will result in changes in the Cargo.lock files, you should probably use the localci docker image, and run make -C workspaces clean all. This will insure all Cargo.lock files are updated. I removed Cargo.lock and *.lock from .gitignore specifically so that they would show up in git diff / git status.
We have agreed that we would periodically update the dependencies. But the rest of the time you should not re-generate (which I guess means you delete the file and let Cargo create from scratch) or run cargo update.

As reminded by @geky, we could add a file to track the commit ID of the crates.io index. I don't think we should be using that for the build in general, but for reproducible builds or in this case help track updates.

If I regenerate the Cargo.lock files I get version 1.3.2 of bitflags instead of 1.2.1. Perhaps that crate was updated today.

That update has existed for a while. Is that with #358 or #358 + #359? In the latter case if you remove dependencies that were constraining the version of a crate, that might allow Cargo to use a newer version.

That update has existed for a while. Is that with #358 or #358 + #359? In the latter case if you remove dependencies that were constraining the version of a crate, that might allow Cargo to use a newer version.

It was without #359, I think.

A makefile target to quickly regenerate the Cargo.lock files without the slower parts of building would be nice to have.


OpenFeature integration

This proposal introduces the potential integration of the Strimzi Kafka operator with the feature flagging system OpenFeature FlagD. Motivation comes from [1].
[1] - https://github.com/strimzi/strimzi-kafka-operator/issues/7520

I think the abiility to configure the feature gates per-cluster si much more important than the ability to configure the feautre gates dynamically.

Okay, I will think about how we can achieve it and update the proposal.

I don't understand the focus on Flagd. My assumption was that OpenFeature provides us a generic API for feature flagging that works with many existing systems and allows users to bring their own implementations as well. This PR reads as if it is not the case - should we in that case wait for some actual demand for Flagd first? I think it is fine to use Flagd as an example of how it might work with the other systems. But the proposal seems to hardcode it in.

You are correct OpenFeature provides a generic API for feature flagging I was thinking that we would start with just FlagD support. But looking at this again it's better to let the user decide what provider he wants to use...So I will update the proposal accordingly to be more generic and not focused only on FlagD.

I left just one comment even because I am really scared about the complexity that OpenFeature is bringing. Moving from just configuring an env var to deploy a feature flagging server + using a FeatureFlag custom resource (if using openfeature operator) looks like to be a big step compared to the advantages. Even just using the env var provider so actually staying where we are seems to add complexity or anyway changing nothig. Are we really sure this is something compelling to the users? Are we really sure they are complaining about restarting stuff because of a feature flag enabled/disabled? Behind this I see too much added complexity compared to the value, plus more code to maintain, documenting and testing. Anyway I read about OpenFeature, but not is so much details. Maybe I am missing a lot from it.

First of all, if we just start with EnvVarProvider it does not include any complexity (if we do not count dependencies). We would simply remove dependency from Config classes and use just only FeatureGates class as source of truth.
Secondly, that complexity is not so enormous compared to other features.

Are we really sure this is something compelling to the users? Are we really sure they are complaining about restarting stuff because of a feature flag enabled/disabled?

Well, it's not only about feature flag enabled/disabled but also controlling feature gates based on rules, which can user define (i.e., in namespace-0 with kafka-cluster-a -> feature-a-enabled) and in other namespace such feature would be disabled etc.

Behind this I see too much added complexity compared to the value, plus more code to maintain, documenting and testing.
Anyway I read about OpenFeature, but not is so much details. Maybe I am missing a lot from it.

The complexity here is just adding and modifying one class (i.e., FeatureGates), which would handle all about feature gates and will be treated as a singleton. All dependencies from config classes would be removed. And lastly, we would need to handle client configuration (for providers such as flagd, flagsmith etc.). But for start we can use default configuration (as I test it where client (flagd) connects to service name of feature flag IMO.

First of all, if we just start with EnvVarProvider it does not include any complexity (if we do not count dependencies). We would simply remove dependency from Config classes and use just only FeatureGates class as source of truth.

Well, adding dependencies on other projects, add complexity by default for me on different aspects. And also just using the EnvVarProvider would not bring any advantage compared to what we have today.

Well, it's not only about feature flag enabled/disabled but also controlling feature gates based on rules, which can user define (i.e., in namespace-0 with kafka-cluster-a -> feature-a-enabled) and in other namespace such feature would be disabled etc.

Is there any demands for something like this?

Well, adding dependencies on other projects, add complexity by default for me on different aspects. And also just using the EnvVarProvider would not bring any advantage compared to what we have today.

Sure. But that's not the goal of this proposal, EnvVarProvider is for using the current approach, which we are using.

Is there any demands for something like this?

Well [1]?
[1] - https://github.com/strimzi/strimzi-kafka-operator/issues/7520

[1] is an issue opened by Jakub not a demand coming from users. I was looking for tangible demand to understand if it's worth doing this.

Triaged on 31.10.2024: Because of the efforts in terms of maintainability, testability and complexity, we decided to close this now and maybe in the future re-open it, in case that it will bring more value.


fillField function is always losing the focus of an element when triggered

Versions:
    "cweagans/composer-patches": "~1.0",
    "drupal/drupal-extension": "3.2.2",
    "behat/mink-selenium2-driver": "1.3.1",
    "jarnaiz/behat-junit-formatter": "1.3.2",
    "emuse/behat-html-formatter": "0.1.0"

I was reading https://github.com/Behat/Behat/issues/96 and would like to have those:
  When I bring the focus to input field "<id>"
  When I type "<text>" in input field "<id>"

But they do not exists and any way to try to create them on my own failed.
So my current state of my own function:
/**
   * @Given I give focus to the css selector :selector
   */
  public function iGiveFocusToTheCssSelector($css_selector)
  {
    $element = $this->getSession()->getPage()->find("css", $css_selector);
    if ($css_selector === NULL) {
      throw new \Exception(sprintf('Could not evaluate CSS Selector: "%s"', $element, $this->getSession()->getCurrentUrl()));
    }

    $element->click();
    $element->fillField("some-field","some text...");
  }

It works. It selects the field and types in the text. But it is always loosing focus of that field. Also If I directly try to press enter directly afterwards with:
    $script = "jQuery.event.trigger({ type : 'keypress', which : '13' });";
    $this->getSession()->evaluateScript($script);

it has still looses the focus and nothing happens anymore.
Is there a way to stop Behat/Mink from loosing the focus on fields? Why is it loosing the focus? It does not really makes sense to me.
And the reason why it is so important to me, is because I'm waiting for the suggesting box that pops out just when the focus of the field is given.
Also found this one https://www.drupal.org/node/2112797 but it's already some years ago and I have a different issue.

@spolischook, I already have that patch with the Key::TAB active. My issue is more that the "fillField" is filling the field properly but losing focus of the field afterwards.

So that method do that you describe above - remove all previous chapters, fill with new value and press Tab. What patch you mean? This method setValue used in fillValue, see the method chain.

I have this patch active. Which is the one you meaned.
But I don't think my issue is correspondating with that patch :)
Could you maybe help me out with me issue. I need to type something in a testfield and leave the focus on that field. How am I able to manage that?
As I said "fillField" is leaving the textfield after typing in that text.

This is what's happening currently: the fillField internally calls setValue, which internally:

removes contents of the field
puts new content in the field
also puts TAB symbol in the field to trigger onchange JS event

The last item is a nightmare, when you want to test auto-complete dropdowns (e.g. type and see a suggestions) because these auto-complete dropdowns usually close on blur/change.
If TAB symbol isn't send at the end then, onchange JS event is never triggered and if it's sent, then auto-complete dropdowns can't be tested.
I have no idea how to make both work without conflicts and without breaking a BC.

Maybe https://github.com/minkphp/MinkSelenium2Driver/pull/244 patch (at least for Selenium2 driver) will solve this. Does it work for you @kwoxer ?

For just set value
$this->getSession()
   ->getDriver()
   ->getWebDriverSession()
   ->element('xpath', $field->getXpath())
   ->postValue(['value' => [$value]]);

For type value
$existingValueLength = strlen($$field->getValue());
$value = str_repeat(Key::BACKSPACE . Key::DELETE, $existingValueLength) . $value;
$this->getSession()
   ->getDriver()
   ->getWebDriverSession()
   ->element('xpath', $field->getXpath())
   ->postValue(['value' => [$value]]);

No @aik099, I don't think the patch has something to do with this one here. The patch overall is working properly.
@spolischook, well I tries out:
$this->getSession()
      ->getDriver()
      ->getWebDriverSession()
      ->element('xpath', $element->getXpath())
      ->postValue(['value' => ["testtest"]]);

but getting this one:

unknown error: cannot focus element
(Session info: chrome=53.0.2785.101)
(Driver info: chromedriver=2.23.409687 (c46e862757edc04c06b1bd88724d15a5807b84d1),platform=Linux 4.4.0-38-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 34 milliseconds
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'curtis-ThinkPad-S3-S440', ip: '<IP_ADDRESS>', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-38-generic', java.version: '1.8.0_101'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.23.409687 (c46e862757edc04c06b1bd88724d15a5807b84d1), userDataDir=/tmp/.org.chromium.Chromium.GMjWps}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=53.0.2785.101, platform=LINUX, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 4dd2103c7183b7c0233e9fef41d0f97d

be sure that field is visible, and field is input or textarea

Okay so I now did it in the way:
  /**
   * @Given I give focus to the :field
   */
  public function iGiveFocusToTheCssSelector($field)
  {
    $session = $this->getSession();
    $element = $session->getPage()->find(
      'xpath',
      $session->getSelectorsHandler()->selectorToXpath('xpath', $field)
    );
    $this->getSession()
      ->getDriver()
      ->getWebDriverSession()
      ->element('xpath', $element)
      ->postValue(['value' => ["testtest"]]);
  }

but getting:

Cannot find elements when the XPath expression is null.

The field (it's an input) exists. And I'm using it via:

And I give focus to the css selector "//*[@class='search_api_views_fulltext']"

->element('xpath', $element) you must set xpath as second argument but you push NodeElement instead.
try ->element('xpath', $field)
however rename $field variable to $xpathSelector
FYI: use selectors in scenarios definition is a bad practice

Great it works! :) Thank you very much.
I now have
/**

@Given I write :text into :field
*/
public function iWriteTextIntoField($text, $field)
{
$this->getSession()
->getDriver()
->getWebDriverSession()
->element('xpath', $field)
->postValue(['value' => [$text]]);
}
with

And I write "brüche" into "//*[@name='search_api_views_fulltext']"

And you said it's bad practice. How could I improve that? I'm open for all :)

Step definition must be readable for business person, ideally it need to wrote someone that not programmer. In very simple case you can wrote something like
I type in Search field Some Text

and then in your context:
public function typeInField($fieldName, $text)
{
  $field = $this->getPage()->findField($fieldName);
  // do something with field
}

But in more complex tests you need smart elements and PageObject Pattern. See already implemented behat extensions, or write it by yourself.

And maybe another question here. I need to press Enter into the textfield. But somehow it does not happen anything. Also no error is thrown.
I'm using:

And I press the "enter" key in the "search_api_views_fulltext" field

https://github.com/Behat/MinkExtension/issues/257#issuecomment-248910054

@kwoxer in code sample from above comment replace ->element('xpath', $field) with ->element('xpath', $session->getSelectorsHandler()->selectorToXpath('field', $field))
and then your step definition will be: And I write "brüche" into "search_api_views_fulltext"

https://github.com/Behat/MinkExtension/issues/257#issuecomment-248919192

@spolischook , if you need PageObject and are using Mink (Behat does use Mink), then try out https://github.com/qa-tools/qa-tools .

@aik099 Thanks, I remember about your repository and look at it time to time.

Hey @aik099 I have this now:
/**
   * @Given I write :text into :field
   */
  public function iWriteTextIntoField($text, $field)
  {
    $this->getSession()
      ->getDriver()
      ->getWebDriverSession()
      ->element('xpath', $this->getSession()->getSelectorsHandler()->selectorToXpath('field', $field))
      ->postValue(['value' => [$text]]);
  }

but getting

Selector "field" is not registered.

Do I have a mistake in there or what am I missing? I change for sure to "  And I write "brüche" into "search_api_views_fulltext""

Ah, that was my mistake trying to write the code without checking back with Mink source. The ...->selectorToXpath('field', $field) should be ->selectorToXpath('named_exact', array('field', $field)). Sorry for the confusion.

Thanks, that works perfectly.
And the other issue with hitting Enter? :)

Thanks, that works perfectly.

Great.

And the other issue with hitting Enter? :)

I guess Behat has some kind of syntax, that allows multi-line value entry in scenarios. Or, since you have custom step anyway you can replace {ENTER} with "\r\n" in text that goes into ->postValue call.

    And I write "\r\n" into "search_api_views_fulltext"
did not work for me.
Well but I did not really understand why
And I press the "enter" key in the "search_api_views_fulltext" field
is not working. The code looks like sending a key that should work properly.

I press the "enter" key in the "search_api_views_fulltext" field

I see no such step in MinkContext class.

Well I have this in the file .../vendor/drupal/drupal-extension/src/Drupal/DrupalExtension/Context/MinkContext.php
Line 140+
 /**
   * @Given I press the :char key in the :field field
   *
   * @param mixed $char could be either char ('b') or char-code (98)
   * @throws \Exception
   */
  public function pressKey($char, $field) {
...

That you should be submitting to https://github.com/jhedstrom/drupalextension repo instead. Looking at step code (https://github.com/jhedstrom/drupalextension/blob/master/src/Drupal/DrupalExtension/Context/MinkContext.php#L145-L192) it should work. However I would rather use postValue call to send special symbols (e.g. TAB, ENTER, etc.) to input instead of doing keydown/keyup events are they do.

Ok gonna post issue there.
But maybe you can get it running for me somehow with postValue?
So what do I have to write here as value in to get it running and simulating the Enter key?
->postValue(...);

just "\r\n" I guess in double quotes.

->postValue("\r\n");
leads to

Curl error thrown for http POST to http://localhost:4444/wd/hub/session/35c9f3b4-cb6e-4e76-a3c2-cc8ed2c9e419/element/1/value/
Illegal characters found in URL

Ahh you meaned
->postValue(['value' => ["\r\n"]]);
yes. That works! Thank you. Awesome. :)

Exactly. Keep in mind, that ->postValue doesn't replace value in the input, but just appending given text to where cursor is in that field.

Yeah already noticed that. But that's no problem for my task. Can be closed here now :) Thank you my friend.

I don't have admin rights on this repo, so you'll need to close the issue your self.

For anyone interested in a final working version, this worked for me:
`/**

@Given I write :text into :field

NOTE: This works better for some of our autocomplete options as
it does not lose focus on the element after, causing jQuery to close
an autocomplete dropdown.
*/
public function iWriteTextIntoField($text, $field)  {
$page = $this->getSession()->getPage();

$field = $page->findField($field);

if ($field) {
  $this->getSession()
    ->getDriver()
    ->getWebDriverSession()
    ->element('xpath', $field->getXpath())
    ->postValue(['value' => [$text]]);
}

}`


Questions about sample rate and data normalization

Hi, thanks for your amazing open source project! How can I use different sample rate (e.g. 44.1kHz), espectially for the online config? It seems that the current version is less flexible for the On-the-fly settings. In addition, is there any data normalization in the preprocessing stage?
Thanks a lot.

Hi, thanks for your amazing open source project! How can I use different sample rate (e.g. 44.1kHz), espectially for the online config? It seems that the current version is less flexible for the On-the-fly settings. In addition, is there any data normalization in the preprocessing stage?
Thanks a lot.

Sometimes, the dataset is not sampled in the same rate, so that I need to resample the audio, which is not fit for the On-the-fly currently.

Hi, thanks for your amazing open source project! How can I use different sample rate (e.g. 44.1kHz), espectially for the online config? It seems that the current version is less flexible for the On-the-fly settings. In addition, is there any data normalization in the preprocessing stage?
Thanks a lot.

Sometimes, the audio within a dataset is not sampled at the same rate, so that I need to resample the audio, which is not fit for the On-the-fly currently.

Hi, we are glad to help!
May I first ask if you are pretraining LibriSpeech? Since currently the online preprocessor on master only supports LibriSpeech, and that is why we fix sample_rate to 16000 Hz (all flac in LibriSpeech are in 16000 Hz).
If you wish to pretrain with other datasets, you might consider checking out to extension branch, which now support much more features for online extraction, including resampling and data normalization (eg. normalization in decibel or across time dimension aka cmvn) or even adding noise on input waveform (to pretrain a denoising Speech BERT).
Please let me know your situation and I can provide more details to help. eg. how to use extension branch (since it is still under quick development.)

Hi! Thanks for your reply. I am currently carrying out experiments on AudioSet, where the audio recordings are sampled not in 16000 Hz. How can I use the resampling for online extraction?
Best Regardes,
Helin Wang
------------------ 原始邮件 ------------------
发件人:                                                                                "andi611/Self-Supervised-Speech-Pretraining-and-Representation-Learning"<EMAIL_ADDRESS>发送时间: 2020年10月10日(星期六) 凌晨1:32
收件人<EMAIL_ADDRESS>抄送: "R.Westbrook"<925799764<EMAIL_ADDRESS>主题: Re: [andi611/Self-Supervised-Speech-Pretraining-and-Representation-Learning] Questions about sample rate and data normalization (#38)
Hi, we are glad to help!
May I first ask if you are pretraining LibriSpeech? Since currently the online preprocessor on master only supports LibriSpeech, and that is why we fix sample_rate to 16000 Hz (all flac in LibriSpeech are in 16000 Hz).
If you wish to pretrain with other datasets, you might consider checking out to extension branch, which now support much more features for online extraction, including resampling and data normalization (eg. normalization in decibel or across time dimension aka cmvn) or even adding noise on input waveform (to pretrain a denoising Speech BERT).
Please let me know your situation and I can provide more details to help. eg. how to use extension branch (since it is still under quick development.)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi! Thanks for your reply. I am currently carrying out experiments on AudioSet, where the audio recordings are sampled not in 16000 Hz. How can I use the resampling for online extraction? Best Regardes, Helin Wang

Hi @wanghl15,
In config/online.yaml, simply change sample_rate: 16000 to the sr of AudioSet.
@leo19941227 please verify if this is correct.


Add Smart Surveys domain to decorate links

We already do this for forms[1] but this is a quick and simple
mechanism we already have in using the allowLinker feature in GA.
[1] https://github.com/alphagov/static/blob/master/app/assets/javascripts/surveys.js#L204

There's a better and cleaner way to do this in government-frontend, plus the clientId from this mechanism isn't exactly what we want.


Fix responsible NLP research checklist

When completing the responsible NLP research checklist, question pairs (D, E) and (D5, E1) overwrite each other. This is because the new AI assistant questions inadvertently use existing labels.
This pull request addresses the issue by updating the AI assistant questions with unique labels. Please note that the choice of these labels was arbitrary, following the existing convention in the file.

Thank you for catching this and putting together a PR!


spark任务 程序获取命令行参数中文乱码

Describe the bug
spark任务 命令行参数 在程序中获取到时乱码
To Reproduce
Steps to reproduce the behavior, for example:

新建spark任务
填写spark命令行参数
程序打印main方法的args
中文是乱码 数字可以正常显示

Expected behavior
中文正常显示
Screenshots

Which version of Dolphin Scheduler:
-[1.3.1-release]

Hi,
I will try to reproduce it later.

Hi,
You can check the task instance log what the Chinese params showing.

BTW, English is need. Please change the title and description to English.

@yangyichao-mango
Thank you. I checked the log. The Chinese version of the spark-submit log printed by DS is correct. It should be a spark-submit issue.


Alpine Linux is missing Crystal 0.36.1

The latest version 0.36.1 is not available in the Alpine package manager.  You can check here: https://pkgs.alpinelinux.org/packages

I don't think we are the ones maintaining that...

The alpine packages are maintained at aports. Please open an issue at https://gitlab.alpinelinux.org/alpine/aports.


TypeError: can't pickle cairo.Matrix objects

I'm using the library to render a png but I see the following error. It seems to be on the exact line that was changed in SHA: 2601ae8eab8d7be807bdbed264cd943e441a8da0. Any hints on what this means?
ctx.render_layers(pcb.top_layers, render_p + '/renders/' + name + '_top.png')

File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 130, in render_layers
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 98, in render_layer
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 196, in _render_layer
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 535, in new_render_layer
File "/usr/lib/python3.7/copy.py", line 96, in copy
rv = reductor(4)
TypeError: can't pickle cairo.Matrix objects

Hi @idlethread, are you using any multiprocessing in the example? Can you share the script you are runnnig?

No multiprocessing. Script is effectively as follows. What I found suspicious was the change in SHA: 2601ae8 was exactly the line I see the bug.
Extracting pcb file from directory for rendering
pcb = PCB.from_directory(gerber_folder)
blue_theme = theme.Theme(
topmask=RenderSettings(blue, alpha=0.8, invert=True),
bottommask=RenderSettings(blue, alpha=0.8, invert=True),)
#blue
ctx.render_layers(pcb.top_layers, name + '_top_blue.png', theme=blue_theme)
ctx.render_layers(pcb.bottom_layers, name + '_bottom_blue.png', theme=blue_theme)

Here is an easier way to reproduce, at least on my 19.10 Ubuntu machine:

Download https://kitspace.org/boards/github.com/kitspace-forks/bus_pirate/Bus_Pirate-0ca376a-gerbers.zip
Unzip the gerbers
Install pcb-tools dependencies using pip3 install -r requirements.txt
Install pcb-tools using python3 setup.py install --user
Run gerber-render BusPirate-v3.6a-SSOP.gko
Traceback (most recent call last): File "/home/amit/.local/bin/gerber-render", line 11, in <module>  load_entry_point('pcb-tools==0.1', 'console_scripts', 'gerber-render')() File "/home/amit/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/__main__.py", line 116, in main File "/home/amit/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 98, in render_layer File "/home/amit/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 196, in _render_layer File "/home/amit/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 535, in new_render_layer File "/usr/lib/python3.7/copy.py", line 96, in copy  rv = reductor(4) TypeError: can't pickle cairo.Matrix objects

@hamiltonkibbe @phsilva any suggestions on how to debug this?

It seems like copy.copy() isn't working with the Matrix class from pycairo.
import cairo
import cairocffi
import copy

copy.copy(cairocffi.Matrix()) # works
copy.copy(cairo.Matrix()) # doesn't work

To solve your problem, make sure you don't have pycairo installed. A better solution would be to make the new_render_layer() function compatible with both cairocffi as well as pycairo by not using copy.copy() on Matrix.

Hi Ingo,
Thanks for your reply.
With cairoffi, I see the following:
$ python
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import cairocffi
Traceback (most recent call last):
File "", line 1, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in
_load_backward_compatible
File "", line 259, in load_module
File
"/home/amit/.local/lib/python3.8/site-packages/cairocffi-0.6-py3.8.egg/cairocffi/init.py",
line 105, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in
_load_backward_compatible
File "", line 259, in load_module
File
"/home/amit/.local/lib/python3.8/site-packages/cairocffi-0.6-py3.8.egg/cairocffi/xcb.py",
line 16, in
File "/usr/lib/python3/dist-packages/cffi/api.py", line 527, in include
raise TypeError("ffi.include() expects an argument that is also of"
TypeError: ffi.include() expects an argument that is also of type cffi.FFI,
not 'CompiledFFI'

With cairo, I see the following:
$ python
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import cairo
import copy
copy.copy(cairo.Matrix())
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.8/copy.py", line 92, in copy
rv = reductor(4)
TypeError: cannot pickle 'cairo.Matrix' object

I'm afraid I'm not too well versed in the nuances of these two libraries.
This is on Ubuntu 20.04. Does the README.md or requirement.txt need updates
to update which libraries must be installed?
Regards,
Amit
On Fri, Jun 19, 2020 at 5:37 PM Ingo Becker<EMAIL_ADDRESS>wrote:

It seems like copy.copy() isn't working with the Matrix class from pycairo
.
import cairo
import cairocffi
import copy
copy.copy(cairocffi.Matrix()) # works
copy.copy(cairo.Matrix()) # doesn't work
To solve your problem, make sure you don't have pycairo installed. A
better solution would be to make the new_render_layer() function
compatible with both cairocffi as well as pycairo by not using copy.copy()
on Matrix.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/curtacircuitos/pcb-tools/issues/116#issuecomment-646599818,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADDVTMMVHO33AXYVYBNDLDRXNIGRANCNFSM4J3BZHRQ
.

--

Amit Kucheria

Hi Ingo,
Thanks for your reply.
With cairoffi, I see the following:
$ python
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cairocffi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in
_load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File
"/home/amit/.local/lib/python3.8/site-packages/cairocffi-0.6-py3.8.egg/cairocffi/__init__.py",
line 105, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in
_load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File
"/home/amit/.local/lib/python3.8/site-packages/cairocffi-0.6-py3.8.egg/cairocffi/xcb.py",
line 16, in <module>
  File "/usr/lib/python3/dist-packages/cffi/api.py", line 527, in include
    raise TypeError("ffi.include() expects an argument that is also of"
TypeError: ffi.include() expects an argument that is also of type cffi.FFI,
not 'CompiledFFI'
>>>

With cairo, I see the following:
$ python
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cairo
>>> import copy
>>> copy.copy(cairo.Matrix())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.8/copy.py", line 92, in copy
    rv = reductor(4)
TypeError: cannot pickle 'cairo.Matrix' object

I'm afraid I'm not too well versed in the nuances of these two libraries.
This is on Ubuntu 20.04. Does the README.md or requirement.txt need updates
to update which libraries must be installed?
Regards,
Amit

Any solutions ?

@Ash-Labs Ingo attached a patch in #165

@idlethread i forked and patched this. works! thanks for the prompt response!

As an alternative to patching you could also try to coerce the usage of the cairo version that works using dependency managent.

@ingobecker How does one do that? See the output I get in https://github.com/curtacircuitos/pcb-tools/issues/116#issuecomment-654178862

I guess the problem is this line here which prefers pycairo over cairocffi if installed. That's also a bit strange because setup.py specifies cairocffi as a requirement. If you make sure you have no pycairo installed pcb-tools will use cairocffi and will work as expected. You can do so, by using something like a virtual env or a container.

In other words, it looks like you have a version of pycairo installed. That might be the case, because you are using a global python version with all python packages installed globally. In this case, pcb-tools will have access to pycairo and use it. To prevent that behaviour and isolate the dependencies of your code you normally use something like virtual envs or a container. If you use pycairo in the same project, it might be impossible to use pcb-tools side by side with the code that requires pycairo and you have to use the patch instead.


How to UnitTest the SDK?

I've been trying to UnitTest the SDK and using nsubstitute.
Have not found a way to return something i want out of the client.Users object.
The client.Users returns an IUserCollection object which I cannot create a fake object to return in the unit tests.

Apologies for the delay in anyone responding to this issue. I guess by now that you've either found a solution or worked round the problem. If not, please ask a question on stackoverflow, tagging the question with one of the aad* or msgraph tags.
I assume you are referring to the Microsoft.Azure.ActiveDirectory.GraphClient library. The client object and user collection are both interfaces so you could provide your own implementations of these interfaces for test purposes. I'm not familiar with NSubstitute but the following code seems to create a dummy client and user collection:
// Create a dummy user collection
var users = Substitute.For<Microsoft.Azure.ActiveDirectory.GraphClient.IUserCollection>();
var userFetcher1 = Substitute.For<Microsoft.Azure.ActiveDirectory.GraphClient.IUserFetcher>();
users.GetByObjectId(null).ReturnsForAnyArgs(userFetcher1);

// Create a dummy client
var client = Substitute.For<Microsoft.Azure.ActiveDirectory.GraphClient.IActiveDirectoryClient>();
client.Users.Returns(users);

// Get an item from the collection
var obj = client.Users.GetByObjectId("123");


Release 0.5.10 version of origin.js

This one's not on our usual cadence, but makes sense to do it early with all the awesome PR's that have come together, especially those unblocking other issues.
Confirm readiness

[x] origin-js: Confirm js tests passing

git checkout develop
git pull
npm run install:dev
npm test (This will also test smart contracts)
npm start

[x] demo-dapp: Confirm all tests passing
[x] demo-dapp: Confirm it runs against remote (unlinked) origin-js

git checkout develop
git pull
npm install
npm start

[x] demo-dapp: Confirm it runs against local (linked) origin-js

git checkout develop
git pull
npm run install:dev
npm start
Probably need to Reset Account on MetaMask.

[x] Confirm deployment accounts have eth for gas

[x] Rinkeby (Faucet)

Public post for [0]: https://plus.google.com/u/0/114203467826302852415/posts/F7sJZMGCbgg
[ ] account[0] 0x1a5c29c94d03c4c8f7414564cbd57295d61e898f
[ ] account[1] 0x564aae0251d49d1f8d4d8d9e5da08f8cceff9ef2

[x] Ropsten (Faucet)

[ ] account[0] 0x1a5c29c94d03c4c8f7414564cbd57295d61e898f
[ ] account[1] 0x564aae0251d49d1f8d4d8d9e5da08f8cceff9ef2

Publish

[x] demo-dapp: Replace git reference with version number in package.json

 "origin": "OriginProtocol/origin-js#develop" --> "origin": "0.5.10"

[ ] If contracts have changed:

Show diff with: git diff master..develop contracts/contracts/
cd contracts
[ ] Deploy new smart contracts to Ropsten. Be sure addresses are listed in ABI files.

export ROPSTEN_MNEMONIC="<mnemonic>"
npx truffle migrate --network ropsten

[ ] Deploy new smart contracts to Rinkeby.  Be sure addresses are listed in ABI files.

export RINKEBY_MNEMONIC="<mnemonic>"
npx truffle migrate --network rinkeby

[ ] Migrate data from old contracts to new. (Once we get around to writing migrations!)

[ ] origin-js: Build origin.js (in dist/origin.js)

npm run install:dev

[ ] demo-dapp: Merge develop into master and push
[ ] origin-js: Merge develop into master and push
[ ] origin-js: Create new GitHub release with origin.js code,

[ ] Version in form v0.5.10 (This will add git tag on master)
[ ] Include addresses of smart contracts in description

[ ] demo-dapp: Add git tag to master to match origin-js and push.

git tag -a v0.5.10 -m "New release"

[ ] origin-js: Publish to npm.

npm publish

[ ] demo-dapp: Deploy new version of dapp to heroku (url to be determined)

Follow-up

[ ] Confirm published origin.js file is accessible via code.originprotocol.com redirect

<EMAIL_ADDRESS>for now

[ ] demo-dapp: Confirm that "one-line setup & run" command works on master branch shown by default
[ ] demo-dapp: confirm its using npm package works and can find contracts
[ ] origin-js: Increment version number to  on develop to for next release
[ ] demo-dapp: Replace version number with git reference in package.json
-"origin": "0.5.10" -->  "origin": "OriginProtocol/origin-js#develop"
[ ] docs: Review docs for needed updates. Confirm example code on playground site (jsfiddle?) still work.
[ ] Copy this to-do list into new issue for next sprint.
[ ] Post notice of new release on Discord

Ropsten
$ npx truffle migrate --network ropsten
Using network 'ropsten'.

Running migration: 2_deploy_contracts.js
  Running step...
  Deploying PurchaseLibrary...
  ... 0xe10164584c5419dcec016c4e6980d71582c02dd8d97c4742fd02807abeda7505
  PurchaseLibrary: 0x2dcdbd31bae94b4311a7ee1a92a9f2ca6b90eac3
  Linking PurchaseLibrary to ListingsRegistry
  Linking PurchaseLibrary to Listing
  Deploying ListingsRegistry...
  ... 0x633e90be804944d46095b46bd1ed32440c6bbe079c4c6514b0d863b3d2d3c225
  ListingsRegistry: 0x2eeb6eafecef49a82d25a03d136c61109b61793a
  Deploying UserRegistry...
  ... 0xb943caea12021c97fc9cb45a228c6bdc9ac65303e69ad5d4b1a33eab7b5d4888
  UserRegistry: 0x71ca1ea454b7b7878d57a82dd767f06afc31e611
  Deploying OriginIdentity...
  ... 0xc704cb7c4d26d8fc1117561eaa19cd4cda33878091e14ea589e98199cc48ab37
  OriginIdentity: 0xabd7d77d3d635ea1040b82e1865de5b2bde2fe05
Saving successful migration to network...
  ... 0x60e1ca572be4c0d8f1b783d55dcfea96551c2a587871d777a9dbe585ba70d21c
Saving artifacts...
Running migration: 3_create_sample_listings.js
  Running step...
default_account:       0x1a5c29c94d03c4c8f7414564cbd57295d61e898f
a_seller_account:      0x564aae0251d49d1f8d4d8d9e5da08f8cceff9ef2
a_buyer_account:       0x47d4e5afd1624ea63cd7ace59d5dc1d87cff3bb5
another_buyer_account: 0xb7cc090637f6af85e3ed8cc623a5efe95b90b9f9
  ... 0x6ddea203688f71c74867f44369130093d3954d4f9b26112d01ea3ffc515bbb0a
  ... 0xb3b0d094e5f1ec9f7e3b57f34b34b92becc3d8cbc9f34763b12a5c65415ea89d
  ... 0xcdc2a9d74a92b2b822c2cc6243990fa57be4f4b342613b658582d5e3f45e5daf
  ... 0x4d8c4f5b7e2f346617e8c165848abb8b998a668e8a667aaa44c8b449e3c9cc40
  ... 0x08afe5538f9b0e9be0fca5d7289607c082d5a191cbbf1410242ccf50a506ed96
Saving successful migration to network...
  ... 0x77d8de454a91b29399cf971a1e317e509d3bb3b07fc8f18e79a5242be940f17f
Saving artifacts...
Running migration: 4_add_sample_issuers.js
  Running step...
  ... 0x8fc6310e5dc805fb3dc63960aa9423e9016a030346235cef444f6ae702b4d611
  ... 0x19bc5d9fec46798d3de93effbd09816b823870d887085dd260281088d2d53c1e
Saving successful migration to network...
  ... 0xfb94baa66292f286963a5cf7c92f60176766be9da8ef4d995617da771a0fc009
Saving artifacts...


[Proposal] Artisan command for one click installation services

This is a proposal to this issue https://github.com/cachethq/Cachet/pull/96

@GrahamCampbell Omg I've tried to fix all StyleCI problems, I think is time to install it locally to test before push haha :)

@GrahamCampbell Omg I've tried to fix all StyleCI problems, I think is time to install it locally to test before push haha :)

Also, what are we doing with #96?

Also, what are we doing with #96?

Yeh, that will be possible in the future, but now right now. Using a custom version of phpcsfixer, and its changing quite frequently. In a few weeks, I'll be able to give you config file  that'll with the 1.5 release when it's done.

Yeh, that will be possible in the future, but now right now. Using a custom version of phpcsfixer, and its changing quite frequently. In a few weeks, I'll be able to give you config file  that'll with the 1.5 release when it's done.

Also, we don't need the double constructor here.

Also, we don't need the double constructor here.

It's not possible for me to push to this, is it?

It's not possible for me to push to this, is it?

No, you'd need to pull it down to a branch on this repo. I can do that for you if you like.

No, you'd need to pull it down to a branch on this repo. I can do that for you if you like.

Please, I've got to go out.

Please, I've got to go out.

Actually, I'm going to totally redo this. This hasn't been done correctly.

Actually, I'm going to totally redo this. This hasn't been done correctly.

After #198 has gone through, I'll rewrite this.

After #198 has gone through, I'll rewrite this.

@GrahamCampbell Thanks :)

@GrahamCampbell Thanks :)

Coming quite soon...

Coming quite soon...

Also, I'm going to make sure we support --force like laravel does.

Also, I'm going to make sure we support --force like laravel does.

It'd be interesting to see how you do that :)

It'd be interesting to see how you do that :)

and --database

and --database

Me too!

Me too!

It's super simple actually. :)

It's super simple actually. :)

And --seed too. :)

And --seed too. :)


Fixed typos in getting-started.md docs

Closes: #209
Change-type: patch
Signed-off-by: Miguel Casqueira<EMAIL_ADDRESS>

Thanks :)


Update circe-generic to 0.14.3

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

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.circe", artifactId = "circe-generic" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.circe", artifactId = "circe-generic" }
}]

labels: library-update, early-semver-minor, semver-spec-pre-release, commit-count:1

Superseded by #93.


De-Linting

Squelched/fixed messages returned by PyLint when running on the King Phisher repository (specifically, $REPO/king_phisher). Running through PyLint now, with the config file found at $REPO/data/pylintrc, the remaining messages after de-linting (excluding disable/suppression/etc messages) are 5 instances of suggested duplicate code and 5 instances of bad continuation, where the instances of bad continuation reside in a very specific instance of continuation in a function parameter.
The vast majority of messages were squelched in order to maintain the native style of the project. A small amount of messages were address by changing the actual code, though no major alterations were made. As far as I am aware, the project should still be fully functional.

These should all be addressed in the central .pylintrc file instead of having disable statements added to each of the files.
Ideally there should be very very few inline exceptions where the rule is turned off on case-by-case basis which appears to have been the method of choice here. All in all only ~10% of the # pylint:  statements should be kept, the rest that are consistently repeated should be moved to the pylintrc file.

In attempting that with the codes I wanted to add to the config file, none of the additions took effect, and I confirmed I was using the right config file. I'll give it another go though and see if I can get that to work, as that indeed would be a much better solution.

Were you specifying it with the --rcfile= option? Personally I have a symlink in the root directory for .pylintrc -> data/pylintrc so that it doesn't need to be specified but either solution should work.

I was, yes. I got the config file recognized by PyLint, just that none of my changes within the file seemed to take effect.

I updated the request, see the changes under the squashed commit.

I'm running into some issues on my end with this. The problem is not with the changes but rather with upgrading to the latest PyLint. I keep getting a stack trace towards the end of the run complaining about a GI namespace.
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "/usr/lib64/python3.4/site-packages/gi/importer.py", line 114, in load_module
    introspection_module = get_introspection_module(namespace)
  File "/usr/lib64/python3.4/site-packages/gi/module.py", line 271, in get_introspection_module
    module = IntrospectionModule(namespace, version)
  File "/usr/lib64/python3.4/site-packages/gi/module.py", line 120, in __init__
    repository.require(namespace, version)
gi.RepositoryError: Requiring namespace 'JavaScriptCore' version '3.0', but '4.0' is already loaded

I'm going to mark this as delayed until I can figure out how to address this issue.

There's an issue in the upstream pylint / astroid projects that is causing a failure when both WebKit and WebKit2 are available.


[visible.directive] Set visible to false only when fully hidden. Fix #19

I've tried to fix #19 by checking if fully visible/hidden before setting the value.
This has two "issues" I could think of:

Inconsistency: the binded variable becomes "true" when it's fully visible, but stays as that untill is fully hidden. That's the desired behavior, but I'm just worried it might somehow lead to confusion
Impossible to "clear" when there's not enough room for completely hiding the target. This also is not necessarily an issue, and it's a drawback of our decision. (We would have it anyway, even with the previous solution, if the case the page is not big enough to hide the target even partially).

I believe those are not actual issues - but might be worth discuss it/keep track of it

@flea89 pinging you in for review.

Also, we should definitely add some tests for this scenarios (even simple ones that skips the body/scroller element complexity)

Nice catch. LGTM.
Rebasing on develop and merging.
I totally agree with you about the tests. The API are quite covered while the scroll functionality is not.
I reckon this might require some discussion though. I haven't found a nice way to test the internals so far, we can explores different way to do it though and see whatever works best.