Integer time index in entity turned into timestamp in feature matrix index

When calculating features where the target entity uses an integer-based time index, the time index for the resulting feature matrix is in datetime format.  As a side effect, additional columns in the cutoff_time dataframe are not passed correctly.

fixed by #128


multiple-content-types example doesn't work

I tried to run several examples locally, some didn't work as soon as you click a link.
The following is the output of the multiple-content-types example.
C:\git\nuxtent-module\examples\multiple-content-types>yarn dev
yarn run v1.2.1
warning You are using Node "9.3.0" which is not supported and may encounter bugs or unexpected behavior. Yarn supports the following semver range: "^4.8.0 || ^5.7.0 || ^6.2.2 || ^8.0.0"
warning package.json: No license field
$ nuxt
  nuxt:axios BaseURL: http://localhost:3000/content-api (Browser: /content-api) +0ms
  nuxt:build App root: C:\git\nuxtent-module\examples\multiple-content-types +0ms
  nuxt:build Generating C:\git\nuxtent-module\examples\multiple-content-types\.nuxt files... +1ms
  nuxt:build Generating files... +35ms
  nuxt:build Generating routes... +9ms
  nuxt:build Building files... +113ms
  nuxt:build Adding webpack middleware... +120ms
Build completed in 6.388s

 DONE  Compiled successfully in 6392ms

 OPEN  http://localhost:3000

  nuxt:render Rendering url / +0ms
  nuxt:render Data fetching /: 1ms +0ms
  nuxt:render Rendering url /content-api/posts/2015/first-post? +21s
{ statusCode: 404, message: 'This page could not be found' }
  nuxt:render Rendering url / +5s
  nuxt:render Data fetching /: 0ms +26s
  nuxt:render Rendering url /content-api/posts/projects/ency? +2s
{ statusCode: 404, message: 'This page could not be found' }
  nuxt:render Rendering url / +4s
  nuxt:render Data fetching /: 0ms +6s
  nuxt:render Rendering url /content-api/posts/projects/ency? +1s
{ statusCode: 404, message: 'This page could not be found' }

I am on Windows 10, Node 9.3.

This bug report is available on Nuxt.js community (#c103)

That's what I got when trying to run the examples/multiple-content-types
`
nuxt:render Rendering url /archives +29s
nuxt:render Rendering url /content-api//posts/? +2ms
{ statusCode: 404,
path: '/content-api//posts/?',
message: 'This page could not be found' }
ERROR
Error: Request failed with status code 404

createError.js:16 createError
[multiple-content-types]/[axios]/lib/core/createError.js:16:15

settle.js:18 settle
[multiple-content-types]/[axios]/lib/core/settle.js:18:12

http.js:192 IncomingMessage.handleStreamEnd
[multiple-content-types]/[axios]/lib/adapters/http.js:192:11

events.js:110 emitNone
events.js:110:20

events.js:207 IncomingMessage.emit
events.js:207:7

_stream_readable.js:1059 endReadableNT
_stream_readable.js:1059:12

next_tick.js:138 _combinedTickCallback
internal/process/next_tick.js:138:11

next_tick.js:180 process._tickCallback
internal/process/next_tick.js:180:9
`

Multiple content types not working at all for me. I've read the docs several times. Everything works well until I change content to be an array instead of an object. Any solution for this?

@renestalder Thank you, I will look into that instantly!

@renestalder What OS are you using? I seem to have the same issue with nuxtent. Im on Windows 10

@sebstr1 Linux. (Arch)

@sebstr1 I didn't check the xamples at all. Just from the README, I could easily setup multiple content with nuxtdown after switching out the module in the nuxt configuration and changing the nuxtent tags in the Vue templates to nuxtdown.

Ok, after some more fiddeling I figured it out, working on my Linux machine! The same config does not work at all for Windows though.

We are working on Windows support. A workaround is to use the Linux subsystem on w10

Might be nice to insert a warning into the README to let people know that it doesn't work on Windows... rather than having people like me wasting hours and thinking it is something they misconfigured.


Add JLink standalone artifact

We use jlink with jreleaser to create a custom jvm which is then used with jpackage. With jlink we could build a distribution which don't need a javaHome and that would be convenient for things like brew #99.

We need to wait https://github.com/jreleaser/jreleaser/issues/1496 as due to use of fatjar we currently would get broken launcher script in jlink. Afaik in jreleaser there's no workaround.


Discourage python2 use!

Seeing new python2 code committed in 2018 makes me sad :-(
You may be interested in https://github.com/snipsco/snips-issues/issues/26 - which explains that hermes-python works with very little modification in python 3. If the code was still on github I'd be putting a patch up for it.
Maybe with a little pressure we can get hermes-python published for python 3! :-)

Updated to python 3


Refactor rg-tag

https://rockabox.tpondemand.com/entity/12378
merge with:
https://github.com/rockabox/rbx_campaign_management/pull/427
pending version of rg-tag without action buttons. (for displaying emails and breakdowns)

@rockabox/qa over to you

Can be merged for QA


Folder vs. Directory

As far as I can tell, it seems that “folder” and “directory” are used pretty interchangeably in the specification — with “directory” occurring slightly more often, but “folder” present in more prominent places:
chymera@decohost ~/src/bids-specification $ ag directory -o | wc -l
179
chymera@decohost ~/src/bids-specification $ ag folder -o | wc -l
148

In the interest of consistency should we maybe standardize the wording to always be directory?

I did a quick search, and it seems like we might lose some precision when we replace all "folder" by "directory" or vice versa:

https://en.wikipedia.org/wiki/Directory_(computing)#Folder_metaphor
https://stackoverflow.com/questions/5078676/what-is-the-difference-between-a-directory-and-a-folder

That said, I am pretty sure that for almost all cases in our spec, the respective authors did not think about this difference between "folder" and "directory" and indeed just used them interchangeably. I think I am therefore slightly in favor of just using "directory" (at least until we find a good case where we definitely should use "folder").

@sappelhoff I don't think we would be losing any precision, if anything, the folder notion obscures the underlying structure, which is precisely what we're trying to accurately document.


Parsing String + Format doesn't handle timezone

Parsing an email date string doesn't work by default:
var email_date = "Mon, 23 Jan 2012 08:36:10 -0500";
moment(email_date);
Outputs: 2012-01-23 05:36:10
Expected: 2012-01-23 13:36:10
So I decided to specify the format, but that doesn't work either, maybe I'm doing it wrong:
var email_date = "Mon, 23 Jan 2012 08:36:10 -0500";
moment(email_date, "ddd, DD MM YYYY h:m:s ZZ");
Output: 2011-12-22 19:36:10
Expected: 2012-01-23 13:36:10

try changing your time string to HH:mm:ss

Same result :/

This looks like the same issue as #139. It will be fixed in the next release, or you can just apply the changes from here - https://github.com/timrwood/moment/commit/f5ab2af19c0c453fd90a817b9fa5cbe27de860ef

Thanks, that fixes one of the problems.
The second one is that I should parse the month as MMM:
moment(email_date, "ddd, DD MMM YYYY HH:MM:SS ZZ");

The last problem, and a pretty serious one, is how JavaScript Date objects handle timezones. The Date object defaults to my local timezone and not a UTC one as expected.
Inside function formatDate()
console.log(date);
Mon, 23 Jan 2012 13:36:10 GMT
console.log(date.toString());
Mon Jan 23 2012 05:36:10 GMT-0800 (PST)

Therefore, when m.hours() is run, it's taking into account my local timezone, and returning the number of hours in my timezone, not in UTC as I would expect and want.
currentHours = m.hours();
console.log('hours:', m.hours());

hours: 5
I expect it to return 13

I think the more common use case is to format to the local timezone, rather than to UTC. Perhaps adding UTC would be a good addition. Maybe as something like this?
moment().hours() // get local hours
moment().hours('utc') // get utc hours
moment().hours(1) // set local hours
moment().hours(1, 'utc') // set utc hours

moment().format('YYYY-MM-DD') // format in local time
moment().format('YYYY-MM-DD', 'utc') // format in utc time

Just out of curiosity, why is it that you need to use UTC formatting?

If you're using moment in a browser, I agree, local timezone is a more common use case, but if you're using it on the server, then UTC is the appropriate timezone.
See: http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices
I'm using the moment library (which I'm very happy with and enjoy using a lot), for all of my date parsing, manipulation and formatting in both node.js and soon in the browser. I'd like to use the same library for both instead of two different ones.
Use Case:
With node.js, retrieve an email from a pop3 server, parse date time with timezone offset and convert it to a utc date.
Save it to the database.
Later for display, retrieve the date time from the database, pass it to the browser, and use moment to output it either as a UTC date, and/or as a localtime date according to the timezone the user's browser is in.
I think your suggestion would fulfill my requirements but it's too wordy.
Here's an alternative idea.
Add an optional timezone parameter to the moment constructor to inform moment what timezone the date it in. This could be: UTC, PST, EST, etc. Then to format the date, I would just use format(), and it would output a date in the utc timezone. Or, with my moment object, I could change the timezone from utc to the browsers timezone and then a format() call would output the date appropriately.
var day = moment("12-25-1995", "MM-DD-YYYY", "UTC");
day.format('YYYY-MM-DD') // format in utc time
day.hours(1) // set utc hours
day.setTimezone('PST') // switch to another timezone
day.format('YYYY-MM-DD') // format in pst time

It's really difficult to format a date into any timezone due to DST bullshit. Perhaps there can be a switch between utc and local time. Something like this maybe.
moment().utc().format('YYYY-MM-DD') // format in utc time
moment().format('YYYY-MM-DD') // format in local time

The utc flag would stay with the object, and then it could be removed as well.
var a = moment().utc();
a.format() // format in utc time
a.local()
a.format() // format in local time

Then we could also add a parsing function to the root object (not the prototype) to create the moment in utc time.
moment.utc('10-10-2012', 'MM-DD-YYY'); // same as below
moment('10-10-2012', 'MM-DD-YYY').utc(); // same as above

Lets continue any discussion on utc mode in #158.
Marking as closed, as #158 will track utc mode and the other issues were addressed.


Slight reorg of setting default

Slight reorg of setting default
Move default value to Defaults.py and not in get() statement in logic

Thank you so much! 🙏


Update licenses and get code to work on Stable

Going to put this here, but I've also been busy with school work and whatnot, and am only within the past few weeks or so have I been able to contribute code to anything. I hope that I can continue helping with this project when I can, but may not always be able to... as I see is the same with you.

I also want to bring to your attention this

@TheDoctorsLife awesome I just redid a bunch of stuff so I'll add you on as a contributor. Just push code to prs so I can review! I did see that. I'm actually working on a bot myself actually.
https://github.com/mgattozzi/thearesia/

Also you might want to do a fresh clone of this. I had to do some force pushes to clean up master and whatnot.

nah fresh clones are for wimps, all the cool kids are doing using git rebase these days.
I had a data lose incident so I didn't have a local copy till now, so its all good.

I wondering if we could look into using something like Discord or IRC to replace slack in the line of messaging outside of github (for things that may need it)

Yeah I was thinking so too. I'm inclined to use IRC but discord would maintain history and allows more asynchronous communication.

I went ahead an made a new discord server, https://discord.gg/C45GR

Travis is broken for this repo it seems.

@TheDoctorsLife Looks like it's good actually! I'll have to jump on discord later. I don't have it installed anywhere on any of my systems


SpanKind is missing in HttpServerHandler and HttpClientHandler

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@bada95e). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #1769   +/-   ##
=========================================
  Coverage          ?   82.22%
  Complexity        ?     1977
=========================================
  Files             ?      291
  Lines             ?     9179
  Branches          ?      885
=========================================
  Hits              ?     7547
  Misses            ?     1338
  Partials          ?      294

Impacted Files
Coverage Δ
Complexity Δ

.../io/opencensus/contrib/http/HttpServerHandler.java
90.38% <100%> (ø)
8 <0> (?)

.../io/opencensus/contrib/http/HttpClientHandler.java
88.37% <100%> (ø)
6 <0> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bada95e...7dac596. Read the comment docs.


Issue with moving of tail of Multi-Tailed arrow with several tails when user needs to move the tail close to another one

Steps to Reproduce

Add Multi-Tailed Arrow (MTA) to Canvas:

Right-click on MTA, add two tails:

Move up top tail to increase the length of the spine:

Try to put the third tail a little bit upper then the second tail:

Actual behavior

The third tail isn't positioned upper, it comes back in the minimal distance (0.35) under the second tail:

Expected behavior

The third tail is positioned upper then the second tail
It is in the minimal distance (0.35) above the second tail if it is moved closer than the minimal distance to the second tail

Environment Details

Ketcher [Version 2.26.0-rc.1] Build at 2024-10-04; 18:45:04
Indigo Version 1.25.0-rc.1.0-g704673fcb-wasm32-wasm-clang-19.0.0
Desktop, Windows 11 Enterprise
Chrome Version 129.0.6668.101 (Official Build) (64-bit)

Notes

Issue is found during testing of https://github.com/epam/ketcher/issues/5548, but it didn't introduce this defect. This issue was introduced during development of https://github.com/epam/ketcher/issues/5057
Recording is attached:

https://github.com/user-attachments/assets/39c95cdb-ca4a-4367-a318-ed857c994df8

Need merge into 2.26

Tested. Bug fixed.
https://github.com/user-attachments/assets/3fec995c-bb70-4870-a4d9-d9ed1ca3f8e0
Desktop:

OS: Windows 11
Browser Chrome
Version 128.0.6613.120 (Official Build) (64-bit)

Ketcher version
[Version 2.26.0-rc.6]
Indigo version
[Version 1.25.0-rc.4]


Fix an assertion is always True by removing the parentheses

$ python
>>> assert(False, "Always True!")
>>> assert False, "Hello"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: Hello

flake8 testing of https://github.com/davidsandberg/facenet on Python 3.7.1
$ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
./src/classifier.py:59:17: F631 assertion is always true, perhaps remove parentheses?
                assert(len(cls.image_paths)>0, 'There must be at least one image for each class in the dataset')
                ^
./src/align/detect_face.py:711:12: F632 use ==/!= to compare str, bytes, and int literals
        if method is 'Min':
           ^
./contributed/cluster.py:124:14: F821 undefined name 'xrange'
    for x in xrange(len(image_list)):
             ^
./contributed/cluster.py:129:22: F821 undefined name 'xrange'
            for i in xrange(nrof_samples):
                     ^
1     F631 assertion is always true, perhaps remove parentheses?
1     F632 use ==/!= to compare str, bytes, and int literals
2     F821 undefined name 'xrange'
4

E901,E999,F821,F822,F823 are the "showstopper" flake8 issues that can halt the runtime with a SyntaxError, NameError, etc. These 5 are different from most other flake8 issues which are merely "style violations" -- useful for readability but they do not effect runtime safety.

F821: undefined name name
F822: undefined name name in __all__
F823: local variable name referenced before assignment
E901: SyntaxError or IndentationError
E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree

Bump on this one.


Docker: Component based Multi stage docker

See individual commits for details.

@heliocastro  As discussed on ORT Slack made some commit message improvement such as spelling, grammar, etc. Believe we are now good to go.

Believe we are now good to go.

Sorry, still "no" from my side. Many of @mnonnenmacher's very good points still hold with this PR. Even with the reduced number of commits, unrelated stuff if done in  single commit, formatting does not adhere to our standards, etc.
I believe the way forward would be as @mnonnenmacher described:

One commit to copy the current Dockerfile to the legacy directory.

A few commits that apply the relevant changes on top of the current Dockerfile, but without all the version updates that just repeat version updates which already happened in our current Dockerfile. Or even squashing all changes into a single commit would be better than the current state of the PR.

One commit for each version update that changes a version compared to our current Dockerfile.

I've reviewed this again (not everything in most possible detail), haven't found any blockers.
I've compared the tool versions and the upgrades now  do happen in separate commits, e.g. the large commit should keep the versions identical. The names of some variables change, like e.g. ANDROID_SDK_VERSION -> ANDROID_CMD_VERSION, but in this case I believe this isn't an issue at all.

I've reviewed this again (not everything in most possible detail), haven't found any blockers.

To me the last commit is still problematic as it touches the batect.yml file, which is exactly the bit I'd expect not to get touched in order to prove that the new Dockerfile does not break any test run via Batect WRT the current Dockerfile. Also, to me the commit message is not clear enough about what the change is actually needed for.

@sschuberth "Why was this resolved while being unanswered?" The current version of docker_build.sh is using  "#!/bin/sh" and not "#!/bin/bash" - you looking at outdated version for your code review I guess.

I've reviewed this again (not everything in most possible detail), haven't found any blockers.

To me the last commit is still problematic as it touches the batect.yml file, which is exactly the bit I'd expect not to get touched in order to prove that the new Dockerfile does not break any test run via Batect WRT the current Dockerfile. Also, to me the commit message is not clear enough about what the change is actually needed for.

Container has several tool version managers that install base is not on standard PATH.
To made this available, was necessary add bash profiles to made visible to Ort. Profiles are only parsed if you run in login environment, and container by default not do that.
For Ort binary we use a wrapper where it calls bash -l so pushing in login environment
In batect, the case is that we calling gradle, not ort wrapper, meaning not bash  login shell, though failing to access tooling.
As documentation of batect https://batect.dev/docs/reference/config/containers/#entrypoint, this is correct way to execute a command from entry point shell.
As the jacoco move to container call, before was working due be executed as root user, and ignoring the fact that the second call passed was running as github actions user.
With the new container running things as a regular user ort, the process ends up as a ghaction user, which is different from ort user trying to write in a non permissive space
So moving the jacoco to inside container execution and not outside produce the correct results, as entire build and test are placed in same environment, same user and non privileged user.

Superseded by https://github.com/oss-review-toolkit/ort/pull/5830.


HDDS-4721. Allow Default Space Quota Unit as Bytes

What changes were proposed in this pull request?
Allow Default Space Quota Unit as Bytes.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4721
How was this patch tested?
UT

R: @captainzmc

R: @captainzmc

Thanks for @amaliujia‘s PR.  LGTM overall.
Can you also add test case in TestOzoneRpcClientAbstract.testSetAndClrQuota() for test Java API?

Thanks for @amaliujia‘s PR.  LGTM overall.
Can you also add test case in TestOzoneRpcClientAbstract.testSetAndClrQuota() for test Java API?

@captainzmc done!

@captainzmc done!

Thanx @amaliujia for the contribution and @captainzmc for the review!!!

Thanx @amaliujia for the contribution and @captainzmc for the review!!!


Added the ability to override the default 'toggle' method when binding to a click event

When initializing sidr using the following syntax, the #btn element's click event will call sidr's toggle method:
$('#btn').sidr({
  name: 'sidr-right',
  side: 'right'
});

This pull request offers a way to call an alternative to the toggle menu. For instance, suppose I only want #btn to open, but not close the sidr. I would change the above code to the following:
$('#btn').sidr({
  method: 'open',
  name: 'sidr-right',
  side: 'right'
});

This option will be added in the next version as you can see in the related commit.
Thank you for your suggestion and code.


io: force bytes-to-string decoding of "line" argument to _stripcomment()

When importing some of the built-in supernova models for the first time
(e.g., s11-2006jl), the model data is downloaded and parsed with
read_griddata_ascii(). In read_griddata_ascii() each line from the file
object is passed to _stripcomment() to remove comment text. However in
Python 3 the line argument to _stripcomment() is raw bytes, which
leads to the TypeError Type str doesn't support the buffer API. In
Python 2 the error does not trigger because the line argument is
interpreted as a string.
This fixes #85 by explicitly decoding the line argument as a string.
Signed-off-by: Brian Friesen<EMAIL_ADDRESS>

Would it be enough to just open the file in text-mode? On line 65 of io.py, the file is being opened in binary mode, for some reason:
        f = open(name_or_obj, 'rb')  # should just be 'r'

It looks like there are some other places in io.py where binary mode should be removed as well.
There is a unit test for this function but it uses StringIO for input so it never caught this!

Yeah, thought about that too, but changing 'rb' to 'r' won't fix the problem if that "else" is triggered on line 66.

I think its OK to require that if name_or_obj is a file object (if else is triggered on L66), it should be a "text file" (a file opened in text mode). For example, that's what the json module requires:
>>> f = open('tmp.txt', 'wb')
>>> json.dump([1, "simple", "list"], f)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/json/__init__.py", line 179, in dump
    fp.write(chunk)
TypeError: 'str' does not support the buffer interface
>>>

Internally, sncosmo doesn't pass file objects to read_griddata_ascii anywhere (except in tests), so no other internal changes are necessary.

Ah OK. Then yes, I agree that changing "rb" to "r" on line 65 is the better choice. In that case, ignore this PR and I'll send another one with that change.

Awesome, thanks!


ltc command flags should have short versions

Some ltc sub-command's options now have short version.
Example output for ltc create command.
Before fix:
# ltc create -h
OPTIONS:
   --working-dir, -w                            Working directory for container (overrides Docker metadata)
   --run-as-root, -r                            Runs in the context of the root user
   --env, -e [--env option --env option]        Environment variables (can be passed multiple times)
   --cpu-weight "100"                           Relative CPU weight for the container (valid values: 1-100)
   --memory-mb, -m "128"                        Memory limit for container in MB
   --disk-mb, -d "1024"                         Disk limit for container in MB
   --ports, -p                                  Ports to expose on the container
   --monitored-port "0"                         Selects which port is used to healthcheck the app. Required for multiple exposed ports
   --routes                                     Route mappings to exposed ports as follows:
                                                        --routes=80:web,8080:api will route web to 80 and api to 8080
   --instances "1"                              Number of application instances to spawn on launch
   --no-monitor                                 Disables healthchecking for the app
   --no-routes                                  Registers no routes for the app
   --timeout "2m0s"                             Polling timeout for app to start

After fix:
OPTIONS:
   --working-dir, -w                            Working directory for container (overrides Docker metadata)
   --run-as-root, -r                            Runs in the context of the root user
   --env, -e [--env option --env option]        Environment variables (can be passed multiple times)
   --cpu-weight, -c "100"                       Relative CPU weight for the container (valid values: 1-100)
   --memory-mb, -m "128"                        Memory limit for container in MB
   --disk-mb, -d "1024"                         Disk limit for container in MB
   --ports, -p                                  Ports to expose on the container
   --monitored-port, -M "0"                     Selects which port is used to healthcheck the app. Required for multiple exposed ports
   --routes, -R                                 Route mappings to exposed ports as follows:
                                                        --routes=80:web,8080:api will route web to 80 and api to 8080
   --instances, -i "1"                          Number of application instances to spawn on launch
   --no-monitor                                 Disables healthchecking for the app
   --no-routes                                  Registers no routes for the app
   --timeout, -t "2m0s"                         Polling timeout for app to start

Similarly for other commands like scale debug-logs test
ltc logs now reports Incorrect Usage like other sub-commands.
Before fix:
# ltc logs
Incorrect Usage

After fix:
# ltc logs
Incorrect Usage: APP_NAME required

[PS:Original author is @savitaashture ]
[#93138244]

@dhilipkumars / @savitaashture,
thanks for picking this up for me !

@davidwadden thank you very much. :)


Short version of "dry run" option yields an error

When I run bumpversion 0.5.3 on Python 2.7.10:
bumpversion -n --verbose --current-version 3.5.0 minor setup.py

... the output includes...
Attempting to increment part '-n'

... and the command fails with an error:
Traceback (most recent call last):
File "/virtualenvs/pelican/bin/bumpversion", line 11, in <module>
    sys.exit(main())
File "/virtualenvs/pelican/lib/python2.7/site-packages/bumpversion/__init__.py", line 912, in main
    f.should_contain_version(current_version, context)
File "/virtualenvs/pelican/lib/python2.7/site-packages/bumpversion/__init__.py", line 202, in should_contain_version
    if self.contains(serialized_version):
File "/virtualenvs/pelican/lib/python2.7/site-packages/bumpversion/__init__.py", line 214, in contains
    with io.open(self.path, 'rb') as f:
IOError: [Errno 2] No such file or directory: 'minor'

If, on the other hand, I use the longer form of the dry-run option instead of -n, the command completes as expected, and there is no error:
bumpversion --dry-run --verbose --current-version 3.5.0 minor setup.py

Good catch, there seems to be some discrepancy between the two forms.
Want to submit a pull request (or a regression test or both) ?

I came across this error while I was experimenting with Bumpversion last week when preparing to release Pelican 3.6. During that evaluation I realized that there are a few steps that Bumpversion doesn't seem to handle (removing .dev suffix before incrementing, updating changelog, adding back .dev suffix for the next development cycle, etc).
So I decided to give Bumpr another try, despite the lack of development activity there, and it handled the various Pelican release steps with aplomb.
This is a rather long-winded way of saying that since we're using Bumpr for Pelican right now, I don't think I'll have the time to submit a pull request to address this Bumpversion issue. Hope you can relate.  (^_^)

removing .dev suffix before incrementing
adding back .dev suffix for the next development cycle

That's how I use bumpversion for bumpversion itself:

[config] (https://github.com/peritus/bumpversion/blob/fbebf47aabbd4529735a49b2bdd29fcb4a6acbac/.bumpversion.cfg)
[usage] (https://github.com/peritus/bumpversion/blob/fbebf47aabbd4529735a49b2bdd29fcb4a6acbac/README.rst#how-to-release-bumpversion-itself)

updating changelog

That's probably outside of the scope of bumpversion and there's lots of great software out there doing just that.

Hope you can relate. (^_^)

I sure can :)
I'll keep this open to address this in a quiet hour. Thanks again for the report!

Ahh, I see. I figured I was missing something. I'll keep a watchful eye on Bumpversion and may come back to it.  (^_^)
Thanks for all your work on what appears to be a very useful and popular tool. Bravo!

Fixed by @inirudebwoy in 6ec908f018a827bfae94ed50baf241461eba7bcb.


es translation of app messages (es.txt)

Did a Spanish translation of the application messages. Will submit a PR in a bit.

@jmcastagnetto
Jesus hi! We are translating the new view (curl v2.wttr.in).
Could you please take a look at it and the Spanish translation?
It is just a single line:
lib/translations_v2.py

It's done.
Happy New Year 2020! 😄

@jmcastagnetto Thank you Jesus! I wish you Happy new year and a lot of interesting projects too! (and thank you for the pull-request)


Transaction not shown in my Account

Bug Description
Just got this updated balance on my account as i completed the PR. However there's no transaction record for it.
Steps to Reproduce
No steps
Expected behavior
Should show us transaction history
Actual behavior
Does not show the up to date transaction history
Screenshots/Recordings
If applicable, add screenshots to help explain your problem.

OS and Browser

OS: Linux (Kubuntu)
Browser: Brave

Additional context
Add any other context about the problem here.
Account Number
c81061eb20ee1379ab98b6f5a125ebd0955278e36513eabd8d319967bb61d7e8
How to Create an Account

I believe this has to do with changing the PV change, right? @buckyroberts
If BE related, please close

I believe this has to do with changing the PV change, right? @buckyroberts
If BE related, please close

Yep, this is related to a BE issue that we are working on. Will be fixed soon.

Yep, this is related to a BE issue that we are working on. Will be fixed soon.


[GSSOC'23] Adding underline to navbar items on hover

it will improve the ui , and navbar will look beautiful

@purviporwal0 Yes , u can improve this. Open a PR  with required screenshot, we will review and merge it soon:)

i can work on the required issue can you please assign me this


feat(fw): Add and integrate consume engine types

🗒 Description
This PR aims to start creating a structure within src/ethereum_test_tools/ for usage within consume.
Its predominant aim is to define a types file specifically for the engine api spec, that can be used within the tests_consume/test_via_engine_api.py EEST simulator (and potentially many more). This allows us to:

Separate from the existing FixtureEngineNewPayload etc types, apprehending a future deprecation of the hive blockchain fixture format. We can delete these with ease.
Internally start a python specification for the engine api, that can be built upon for future EEST simulators.
Opens the option to directly create the engine new payload json (and dataclasses) during filling procedures. This may be of use at somepoint, where we don't need to read in the fixture json directly -> convert it to dataclasses -> and then serialize it back to json for engine new payloads.

Key Changes

Updates various field names to be more concretely related to the engine api spec. This helps cleanly extract fields from a FixtureBlock type. Changes incl:

base_fee -> base_fee_per_gas,
reciept_root -> reciepts_root,
bloom -> logs_bloom,
mix_digest -> prev_randao,
hash -> block_hash,
Only in FixtureBlock: txs -> transactions

Moves src/ethereum_test_tools/rpc/* into src/ethereum_test_tools/consume/.
Adds src/ethereum_test_tools/consume/types.py, containing engine new payload and execution payload types, specific to the engine api fork version - aligning cleanly with the spec.
Adds tests to check that we can:

Extract a FixtureBlock into their respective Engine<fork>.NewPayloadV<version> dataclasses.
Convert the Engine<fork>.NewPayloadV<version> dataclasses to the correct json representation, expected within engine_rpc.py.

Remaining Todos

[ ] Add more complex tests for valid Cancun and Shanghai blockchain test fixtures, properly testing the conversion from a FixtureBlock to a correct engine new payload json representation:

[ ] Withdrawals extractions
[ ] ExpectedBlobVersionedHashes &  ParentBeaconBlockRoot extractions

[ ] Delete the existing src/ethereum_test_tools/rpc/ folder.
[ ] Integrate the new types within test_consume_via_engine.py and engine_rpc.py, cleaning up more code.
[ ] Rebase back onto Dan's branch, after his is rebased to main.
[ ] Clean up tox.

Other Considerations

Change the name of coinbase to feeRecipent to align more with the PoS terminology (also makes the engine spec cleaner).
Like the above, change the name of number to block_number.
Use Base and Meta classes within the engine spec types to reduce duplication of functions.

Closing in favor of: https://github.com/danceratopz/execution-spec-tests/pull/31

I think one problem right now is on the src/pytest_plugins/consume/consume.py file with the pytest_configure method, because I don't think this file should try to generate the test cases, and instead this functionality should be moved to a custom pytest_generate_tests in each plugin, consume_direct, consume_via_rlp and consume_via_engine_api.
Method create_test_cases_from_json and class TestCase in src/pytest_plugins/consume/consume.py should be moved and customized too.

Thanks for taking a look, @marioevz!
I agree, that intuitively, you'd expect the fixtures to be loaded in pytest_generate_tests() and not in pytest_configure(). The reason is to allow piping of fixtures from fill AND using them in multiple consume tests within one pytest session, e.g.,
fill -k "chainid and blockchain_test and not hive" --fork=Shanghai --output=stdout | consume all -v

The problem is that pytest_generate_tests() gets called once per test function. So if you process the input on stdin in pytest_generate_tests(), it's unavailable in subsequent executions of the hook. Of course we could save it the first time it's called in a global... Happy to discuss the best solution!
With regards to having all the logic in the base consume plugin logic (instead of the separate consume sub-plugins), I need to revisit this in order to explain it, but there were some idiosyncrasies with pytest test parametrization. It was also related with executing the tests from multiple consumers within one pytest session.


CODE: sim_trait

Update the sim_trait function.

I was very much overestimating the computational time that it takes to examine the allele frequency.
This shows the result for a tree sequence with 1 million samples, 1Mb, 1000 causal sites.
Allele frequency:

Non allele frequency (alpha=0):

It seems that obtaining the genotype was the bottle neck of the sim_phenotype algorithm, and not obtaining the allele frequency

Since the computational time is very fast, I'm thinking about adding allele frequency column to sim_trait function, as it is widly used in simulation-based studies, and obtaining it from tskit is not very clear. Do you have any suggestions on this @jeromekelleher ?

Added allele frequency output here (https://github.com/daikitag/tstrait/pull/1). I find it to be useful to have the allele frequency column, as it will make the explanation of the frequency dependence model in the documentation easy to understand, and allele frequency is typically part of the standard packages to simulate quantitative traits.

Draft of the documentation of sim_trait is added here: https://github.com/daikitag/tstrait/pull/2

Since the computational time is very fast, I'm thinking about adding allele frequency column to sim_trait function, as it is widly used in simulation-based studies, and obtaining it from tskit is not very clear. Do you have any suggestions on this @jeromekelleher ?

What's it used for other than frequency dependence via alpha @daikitag? I feel like we can add this to the data frame later if there's a feature request, but it's not something we have anyone actually asking for?

Since the computational time is very fast, I'm thinking about adding allele frequency column to sim_trait function, as it is widly used in simulation-based studies, and obtaining it from tskit is not very clear. Do you have any suggestions on this @jeromekelleher ?

What's it used for other than frequency dependence via alpha @daikitag? I feel like we can add this to the data frame later if there's a feature request, but it's not something we have anyone actually asking for?

I've seen some papers that simulate genetic values by using all causal sites and then see the influence of causal mutations depending on allele frequencies, but I agree with you that we can add the feature later.
I would like to add the plot of (allele frequency vs effect size) to show the frequency dependence model in the documentation, but do you have any suggestions on how I can compute the allele frequency of causal mutations there?

OK, let's keep the allele_frequency if you already have a use for it.

Thanks @jeromekelleher . Would it be possible for you to merge this pull request? I would like to make a new PR for allele frequency and I would also like to use this function in unit tests for genetic_value.

https://github.com/tskit-dev/tstrait/issues/113 updated here

@jeromekelleher
I created a new pull request for the documentation of the new sim_trait function here https://github.com/tskit-dev/tstrait/pull/115. I think I'm finished with making all the modifications to the sim_trait function, and would it be possible for you to reivew it whenever you have some time?


Missing Flowee tests and fixtures

Things we need to test:

Block reversal (both temporary tx reversal, and with a double spend)
Double spend (there are two different double spend messages)
Tx seen/confirmed message with multiple outputs

Output from Flowee should be added to the flowee fixtures file.

Flowee is no longer up-to-date with BCH consensus rules, so closing this for now.


Support for attribute style selectors such as [href] and [ui-sref]

I have a style rule [ui-sref] { cursor: pointer} than purifycss removed even though it was in a referenced template. Would you make a change to include such rules when they are in use?

I noticed this issue as well. Took my a while to figure out that this was what caused my bug.

#107 fixed this


Feature Request: Loading images from a URL

What related GitHub issues or StackOverflow threads have you found by searching the web for your problem?
I couldn't find a solution for this, so I made a stackoverflow answer:
https://stackoverflow.com/questions/42218771/how-do-i-load-images-from-urls-into-tensorflow?noredirect=1#comment71642082_42218771
Environment info
Operating System:
macOS Sierra 10.12
If possible, provide a minimal reproducible example (We usually don't have time to read hundreds of lines of your code)
Here is a gist of me loading images via URL, saving to disk, and processing it. To reproduce, skip the saving to disk part and send the jpeg image directly into tensorflow's sess.run. It will fail since it is not the type it is expecting.
What other attempted solutions have you tried?
I've tried downloading image, saving to disk, and using that. This however is very slow.
Is there a way to do something like this? If not, I would like this to be a feature request.

I've added a response to your stack overflow question.


Prepare Cargo Metadata for Releases

It looks like there are already a bunch of rune-xxx crates on crates.io for The Rune Programming Language, so we won't be able to publish our crates as-is.
Some alternatives:

Add a second prefix to all of our crates (e.g. use hotg-rune-xxx instead of rune-xxx)
Use runic-xxx instead of rune-xxx
Eschew crates.io altogether and use our own alternate registry (note: installing from an alternate registry requires editing ~/.cargo/config so you can't just run cargo install --registry https://example.com/ rune)


Access Faraday environment using #[]

We're seeing env come through as a Hash rather than a
Faraday::Response here. Faraday's middleware docs are poor, but it
seems common to look up environment values using [] rather than
relying on the methods of Response, presumably because this can
happen.
If it makes a difference, we're using Faraday 0.8.11, but librato-metrics does not specify any version requirements.

Ah, I just saw the discussion in #134 . I'll see if Faraday 0.9 will work for us.
Either way, I think either a version requirement should be set, or support for 0.8 should be added.

Yeah I agree. We should fix this so it works cleanly with 0.8.x+

Great! As a data point we've been running with this patch for the past week or so and no problems for us.

@oggy Thanks for your contribution. Released in v2.1.2.


feat: det_vandermonde_eq_det_vandermonde_add

maintainer merge

Actually please delegate until the last issue is fixed

Thanks!
bors r+


Joindin 532 apostrophe in event

I don't really like this... but here it is.  Special characters are encoded and saved into the database; I can't see how you could change this without breaking too many other things.
So this decodes in the EventEntity and adds some escaping in the twig templates.

Can one of the admins verify this patch?

ok to test

I need to look at this one in more detail.


draft new release

Description
closes #195
Release notes:
NOTE: This release introduces major changes to the lettuce code architecture. For a synopsis of how to adapt your main files, please refer to native_cuda_synopsis.md.

Hello @PhiSpel! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file lettuce/ext/_flows/liddrivencavity.py:

Line 64:35: W291 trailing whitespace

In the file lettuce/util/moments.py:

Line 257:75: W291 trailing whitespace

In the file setup.py:

Line 15:80: E501 line too long (114 > 79 characters)


Ghidra 10.1.1 not showing up?

I added the script folder but its not showing up in the script manager

nvm I just shoved it into the ghidra folder itself and get some other warning
intezer_analyze_gh_community.py> Running...
Traceback (most recent call last):
  File "C:\Users\Jeffery\Downloads\ghidra_10.1.1_PUBLIC\Ghidra\Features\Python\ghidra_scripts\intezer_analyze_gh_community.py", line 30, in <module>
    import requests
ImportError: No module named requests
intezer_analyze_gh_community.py> Finished!

and this is just a duplicate of #18 now sigh

This is not a duplicate. I am experiencing the same issue on both macOS and Linux. The Plugin Path setting is not working. The script is in the same location as always and had worked in 10.0.X and earlier. For some reason the search process for plugins in Ghidra is not finding the script properly. I am working right now to figure out what happened.
The other problem that you have with regards to requests is indeed that other issue. I am writing up a set of instructions for a documentation PR that will help everyone get past that problem.

@CanadianJeff I have documented a different way to install the plugin that works in Ghidra 10.1 using the Bundle Manager. I have just made a PR to change the documentation to show how to do the install. Take a look at that PR if you need to see how to do it immediately.


[SPARK-25646][k8s] Fix docker-image-tool.sh on dev build.

The docker file was referencing a path that only existed in the
distribution tarball; it needs to be parameterized so that the
right path can be used in a dev build.
Tested on local dev build.

Test build #96959 has started for PR 22634 at commit 0cdd4e5.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3689/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3689/

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/3689/
Test PASSed.

Test build #96959 has finished for PR 22634 at commit 0cdd4e5.

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/96959/
Test PASSed.

Thank you. Merged to master.


Enable feature and deprecation warnings

Towards #1473, enables feature and deprecation warnings

Codecov Report

Merging #1474 (035f738) into unstable (8c2f6a2) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           unstable    #1474      +/-   ##
============================================
- Coverage     74.69%   74.68%   -0.01%
============================================
  Files           358      358
  Lines         11505    11505
  Branches        548      548
============================================
- Hits           8594     8593       -1
- Misses         2911     2912       +1

Impacted Files
Coverage Δ

.../forsyte/apalache/tla/pp/ConstSimplifierBase.scala
96.47% <0.00%> (-1.18%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8c2f6a2...035f738. Read the comment docs.


remove unused code

Some code in existing transformations is unused due to changed happened later. I found a part in linearize, I guess we have more. Opening this PR as draft so we can collect more cases before merging it

Will merge this already, we can always make a new pr if stuff comes up


tour: could you have possibly used the wrong formula?

Context: http://<IP_ADDRESS>:3999/flowcontrol/8
Change the title above to describe your issue and add your feedback here, including code if necessary
I think the formula is sqrt(N) ≈ ½(N/A + A), so
Zn+1=½(X/Zn +Zn)
See http://www.school-for-champions.com/algebra/square_root_approx.htm#.WJiO-Y9OKUk

General form of newton is x_{n+1} = x_n - ( f(x_n) / f'(x_n) ), which is closely mirrored in the tour exercise. It can be re-ordered to look different, but the tour's version is still correct. Closing here.


Increased regression test code coverage

Current regression test only covers CEC2 baseline, i.e. signal mixing, NALR and haspi. Need a more thorough set of tests covering CEC1, CPC1 and CEC2 code so that later refactoring can be performed securely.

After discussion the following modules will be worked on by @jwillbailey and @TuZehai

Module
Addressed by

clarity/predictor/*
@TuZehai

clarity/engine/*
@TuZehai

clarity/data/*
@jwillbailey

clarity/enhancer/*
@jwillbailey


sample defines 'global'; fix script load

When trying out the latest code to load additional scripts through the external buffer, I found two issues.

During the last merge, I had inadvertently removed the code that defined the name "global" for the global object. This is needed so code loaded into the sample host can refer to "global".
Fixed an issue where ScriptData::release() was called before getting the data to pass to JsCreateExternalArrayBuffer. Also, it should get the length from the ScriptData.

@akroshg These are some small fixes that I found. It would be great if you could review and merge today. Thanks.


Updated SBOM Interface

Summary

This update tries to

maintain a very generic interface in the root package (still relying on an io.Reader) to allow buildpack authors flexibility on SBOM implementations)
reuse as much of the prior implementation as possible
eliminate buildpack authors' ability to accidentally re-use a reader within buildpack code
add a bit of debugability to Entries by providing a GetContent() function that can be used to print SBOMs during buildpack development

There are still lots of panic() in there and a few Pending unfinished tests. Feedback is welcome.
Use Cases

With this interface, a buildpack author would do things like:
	layer, err := context.Layers.Get("my-layer-name")

	layer, err = layer.Reset()

	bom, err := sbom.Generate(context.WorkingDir)

	entries := sbom.NewEntries(bom)
	entries.AddFormat(sbom.CycloneDXFormat)
	entries.AddFormat(sbom.SyftFormat)
	entries.AddFormat(sbom.SPDXFormat)

	layer.SBOM = entries

	b, err := ioutil.ReadAll(entries.GetContent(sbom.CycloneDXFormat))
	fmt.Printf("bom content:\n%s\n", string(b))

	return packit.BuildResult{
		Layers: []packit.Layer{
			layer,
			},
		Build: packit.BuildMetadata{},
		Launch: packit.LaunchMetadata{
			SBOM: entries,
		},
        }, nil

For an runnable example buildpack implementation that uses this updated interface, see this fork of the node modules bom buildpack.
Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[ ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

@paketo-buildpacks/tooling-maintainers please take a look 🙂

I have no issues with this as it stands. I have a question for the larger group around potential extension. I am not super thrilled with this structurer:
entries := sbom.NewEntries(bom)
entries.AddFormat(sbom.CycloneDXFormat)
entries.AddFormat(sbom.SyftFormat)
entries.AddFormat(sbom.SPDXFormat)

I do not think that understandability is gained by having separate calls like this, I would love to see something like:
entries := sbom.NewEntries(bom)
entries.AddFormats(sbom.CycloneDXFormat, sbom.SyftFormat, sbom.SPDXFormat)

Where the signature of AddFormats is AddFormats(formats ...Format).
If this feels premature I think that is fair just wanted to put it forward as it feels like something I would add to go in the next release I could get it into.

cc @thitch97 here's the alternate/amended proposal

I'm not sure I understand this statement:

eliminate buildpack authors' ability to accidentally re-use a reader within buildpack code

Reader types, as a general rule, are not reusable unless they provide some sort of "rewind" capability. For example, https://go.dev/play/p/5xJW7ZS0ScA. This makes some sense though. A reader isn't a stateless bag of bytes. Its a stateful stream of bytes with a cursor position. If one bit of your code moves the cursor to the end of the stream by reading the whole thing, then later bits should not expect to be able to re-read that same stream without it somehow being rewound to the beginning. Some Reader types are backed by implementations that provide a Seek(offset int64, whence int) (ret int64, err error) method. Using that, you could rewind back to the beginning.
You could maybe make an argument that the Format method of the sbom.SBOM type should return a ReadSeeker. And then packit would make sure to rewind the reader back to the beginning before reading it. This would make for a pretty cumbersome API though. There are lots of alternative Format implementations that wouldn't reasonably be able to return a type capable of rewinding the Reader. bytes.Buffer stands out as a very commonly used Reader implementation for shuttling bytes between types. Unfortunately, it doesn't support the Seeker interface. packit users would be forced to wrap these types in something capable of providing that Seeker interface. To me this feels like a big penalty to the majority of packit users for a use-case that seems like a small minority (reusing the BOM in multiple places).
If users understand that the Reader interface is stateful, then reusing the BOM simply becomes ensuring that you recall the sbom.SBOM.Format method to get a new instance of a reader in each location you'd like a formatted BOM. For example,
layer, err := context.Layers.Get("my-layer")
if err != nil {
	return err
}

bom, err := sbom.Generate(layer.Path)
if err != nil {
	return err
}

layer.SBOM.Set("cdx.json", bom.Format(sbom.CycloneDXFormat))
layer.SBOM.Set("syft.json", bom.Format(sbom.SyftFormat))

return packit.BuildResult{
	Layers: []packit.Layer{layer},
	Launch: packit.LaunchMetadata{
		SBOM: packit.SBOMEntries{
			"cdx.json":  bom.Format(sbom.CycloneDXFormat),
			"syft.json": bom.Format(sbom.SyftFormat),
		},
	},
}, nil

@ryanmoran I appreciate you diving into the technical reasons why a ReadSeeker probably doesn't make sense as the sbom.SBOM.Format() return type. I wholeheartedly agree.
Hopefully I can shed some light on what it felt like to use the v1 proposed packit implementation to rewrite the node-modules-bom buildpack. That experience directly motivated this PR. @robdimsdale and I did look at packit and see that bom.Format() would return a Reader. And we did understand that a Reader isn't reusable. However, along the way, we ended up writing some code that seemed benign (and maybe even semantically correct) that ran right into the non-reusability:
layer.SBOM.Set("cdx.json", bom.Format(sbom.CycloneDXFormat))
layer.SBOM.Set("syft.json", bom.Format(sbom.SyftFormat))

return packit.BuildResult{
	Layers: []packit.Layer{layer},
	Launch: packit.LaunchMetadata{
		SBOM: layer.SBOM
		},
	},
}, nil

We Set some contents of the layer SBOM, and then we set the Launch SBOM equal to the layer SBOM. In retrospect, it's obvious why this was problematic, but in the moment we reasoned that, semantically, we needed to put the same SBOM contents in both of these places. It took stepping through packit's Build() to be reminded about why our buildpack was broken.
In the process of debugging the SBOM, we also wanted to print out the contents of the SBOM at build time. Printing the SBOM struct itself doesn't yield anything useful because its content is in the private sbom field. In this case, we were tempted to "really see" what's in the layer SBOM by reading one of the values in the map. This also emptied the reader.
In both of these cases, code that feels intuitive to write produces a broken result.
In this proposal, I started from an API that would have been most intuitive for me to write and read as a buildpack author and then tweaked packit to iteratively approach that state.
@ryanmoran What concerns do you have with the proposal in this PR?

@robdimsdale I think you had other thoughts about the API besides what I mentioned above. Care to expound?

Looking at the Node Module BOM fork, I like how this API reads in a buildpack.
I think because we know a CycloneDX BOM should always be cdx.json per the spec, that if a buildpack author knows they want that type of BOM, only having to specifyentries.AddFormat(sbom.CycloneDXFormat), rather than also specifying the file extension path cdx.json is simpler.
One thing I found slightly confusing was the naming of sbom.NewEntries. On first glance, the name entries makes me think of adding content to a singular BOM file. Maybe naming it something like entryFormats := sbom.NewEntryFormats(bom) and then calling entryFormats.Add(sbom.CycloneDXFormat) would be slightly clearer for me.

Another +1 for encapsulating the file extension within the format (as shown in this PR). Assuming we're keeping the high-level, agnostic representation in the packit package (i.e. a mapping of file extension to file contents) then at least this change makes it easier for consumers of this library, as they don't have to read the spec to determine the file extensions.
I do recognize that this couples buildpack authors to the json file type, and the syft/spdx/cdx application types, but I think that's reasonable given that the lifecycle looks for this files specifically, and wouldn't handle other files written by a buildpack that consumes this library.
My other main feedback is that I would like to use type definitions to describe the intent of the map[string]io.Reader? I think it would be more obvious if we had something like below:
type FileExtension string
type FileContents io.Reader

type SBOMEntries map[FileExtension]FileContents

and the calling code remains unchanged.
However, in my ideal world, I would prefer an extra level of encapsulation here as well - something like this.:
type SBomEntry struct {
    FileExtension String
    FileContents io.Reader
}

type SBOMEntries []SBOMEntry

where the calling code then becomes something like this:
for entry := range layer.SBOMEntries {
				err = config.fileWriter.Write(filepath.Join(layersPath, fmt.Sprintf("%s.sbom.%s", layer.Name, entry.FileExtension)), entry.FileContents)
				if err != nil {
					panic(err)
				}
			}

However, I recognize this might feel less streamlined than the map[FileExtension]FileContents approach - kind of like forcing Object Oriented principles where they aren't welcome - so I'm willing to compromise here.
If there are strong objections to both of this suggestions, then at the very least I'd like to see good comments explaining  the purpose of the map[string]io.Reader.

@fg-j I would like to merge this into the other PR and then make some further changes from that point. Does that sounds ok?

Upon some more looking and thinking I would like if we used some keyword other that entry/entries as I feel it might overload the term with is already used for entries from the buildpack plan. Unless I am missing something and that is the upstream terminology for those pieces of information.

I have no attachment to the specific naming of entry. Naming is hard.

Naming is hard.


Update Jenkinsfile

Build Result: PR Build Failed

PR build failed

Result: PR build Failed

Result: PR build Failed- :red_circle:


Documents Approval Workflow

Hello
this question is not related to any issues. I just need to know if it is possible to create a Documental workflow, something like:
Create a Doc -> First Doc Approve -> Second Doc Approve -> Doc Approved
or
Create a Doc -> First Doc Approve -> Second Doc Reject-> Doc restart process -> First doc Approve ->  Second Doc Approve -> Doc Approved
Thank you
JJ

Hi,
There are no built-in tasks for documents approval but you can create your own custom tasks where you can put the logic that you want for documents approval.
Regards,


Allow connecting to a previous server if credentials are not in the keychain

Ticket Link
https://mattermost.atlassian.net/browse/MM-55413
Fixes: #7655
Release Note
Allow to reconnect to a previous server after migrating the app to a new device

Cherry pick is scheduled.


[Docs] Add DR for locatable content trait design

Closes #332.
Pretty view: available here
Covers the recent discussions about how best to represent content location in terms of URLs or paths, depending on the capabilities of the host.
Note to @mmazerolle and @feltech - sadly I was unable to recreate the table in markdown.

[fix] Add option 4 - URL only, and make undecided.

This needs moving to the OpenAssetIO-MediaCreation repository, so do not merge once approved.

Merged under https://github.com/TheFoundryVisionmongers/OpenAssetIO-MediaCreation/pull/4


Resolve issue #336

See #336.

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


Updated the OLED SSD1306 Demos and Drivers with Basic Functionality t…

…o work with latest nF
Updated the code to make minimal changes to make it work with OLED. Tested with 128x64 and 128x32 and it works fine.
Updated Font logic and created basic Font logic and drawing on screen.
There is more work to do, but this is initial update to make the code work, and see what direction will need to be taken for the other controllers/devices if they will be supported.

Description

Motivation and Context

Fixes/Closes/Resolves nanoFramework/Home#NNNN

How Has This Been Tested?

Screenshots
Types of changes

[ ] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[ ] Unit Tests (work on Unit Tests, has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I tried your code but had no success with my 128x32 device. Debugging in detail I noticed that in the Ssd13xx.cs display method around line 251 you have this code,
_pageCmd[1] = (byte)(PageAddress.Page0 + i); // page number
Now in the enum Page0 has value zero, he page address should be in range 0xb0 -> 0xb7 so line 251 appears to need a 0xb0 offset
i.e. _pageCmd[1] = (byte)(0xb0 + PageAddress.Page0 + i); // page number
and only after making modification works nicely


Cannot migrate to MySQL from SQLite3

There is an error in the migration file cms.0012_auto_20150607_2207 which generates this message:
mysql.connector.errors.ProgrammingError: 1091 (42000): Can't DROP 'user_id'; check that column/key exists

Running Python 3.4.3, Django-CMS 3.2.0, Django 1.8, and MySQL 5.7.2.

What do you mean with "migrate to MySQL from SQLite3"?

Changing the database from SQLite3 to MySQL. I was unable to start a project using MySQL.

@AlanOndra It's not clear what's happening here.
So you have a working SQLite3 project, complete with database, and then you want to move it to MySQL? In that case, you wouldn't need to run cms.0012_auto_20150607_2207 or any other migrations. Migrations are for making changes to the structure of a database, not migrating from one database to another.
If you mean something else, apologies, I haven't understood.
What error did you get when trying to start a project with MySQL? If that didn't succeed, you are very unlikely to get MySQL working otherwise.
If you give us more information I am sure we can help.

I'm having the same problem running the migrations on a empty DB.
I can reproduce this issue.
State of the table:
CREATE TABLE cms_pageuser(  user_ptr_idint(11) NOT NULL,  created_by_id int(11) NOT NULL,   PRIMARY KEY (user_ptr_id),   KEY cms_pageuser_created_by_id_47c3d086010492c5_fk_auth_user_id (created_by_id),   CONSTRAINT cms_pageuser_created_by_id_47c3d086010492c5_fk_auth_user_id FOREIGN KEY (created_by_id) REFERENCES auth_user (id),   CONSTRAINT cms_pageuser_user_ptr_id_7b0231cd1ca953bf_fk_auth_user_id FOREIGN KEY (user_ptr_id) REFERENCES auth_user (id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
Error:
`  Applying cms.0012_auto_20150607_2207...Traceback (most recent call last):
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/django/base.py", line 177, in _execute_wrapper
return method(query, args)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/cursor.py", line 515, in execute
self._handle_result(self._connection.cmd_query(stmt))
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/connection.py", line 488, in cmd_query
result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/connection.py", line 395, in _handle_result
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1091 (42000): Can't DROP 'user_id'; check that column/key exists
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./manage.py", line 9, in
execute_from_command_line(sys.argv)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/core/management/init.py", line 354, in execute_from_command_line
utility.execute()
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/core/management/init.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/core/management/base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/core/management/base.py", line 445, in execute
output = self.handle(*args, **options)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django_cassandra_engine/management/commands/migrate.py", line 14, in handle
return super(Command, self).handle(*args, **options)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 222, in handle
executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/migrations/executor.py", line 110, in migrate
self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/migrations/executor.py", line 148, in apply_migration
state = migration.apply(state, schema_editor)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/migrations/migration.py", line 115, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/migrations/operations/fields.py", line 201, in database_forwards
schema_editor.alter_field(from_model, from_field, to_field)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 484, in alter_field
old_db_params, new_db_params, strict)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 502, in _alter_field
self.execute(self._delete_constraint_sql(self.sql_delete_fk, model, fk_name))
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 111, in execute
cursor.execute(sql, params)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/django/base.py", line 227, in execute
return self._execute_wrapper(self.cursor.execute, query, new_args)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/django/base.py", line 180, in _execute_wrapper
utils.ProgrammingError(err.msg), sys.exc_info()[2])
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/django/base.py", line 177, in _execute_wrapper
return method(query, args)
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/cursor.py", line 515, in execute
self._handle_result(self._connection.cmd_query(stmt))
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/connection.py", line 488, in cmd_query
result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
File "/home/laurens/Env/test_new/lib/python3.4/site-packages/mysql/connector/connection.py", line 395, in _handle_result
raise errors.get_exception(packet)
django.db.utils.ProgrammingError: Can't DROP 'user_id'; check that column/key exists
`
Please note that we run the mysql connector (mysql-connector-python-rf (2.1.3)) instead of the default Django adapter:

'default':{
'ENGINE': 'mysql.connector.django',
'NAME': 'empty_db',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
},-

Reading the Django docs and stuff like this I'm missing a specific MySQL setting. If I do find out which/what I'll try to add it and update this issue.

Just realized that migration 12 is about cms_usersettings:
class Migration(migrations.Migration):

    dependencies = [
        ('cms', '0011_auto_20150419_1006'),
    ]

    operations = [
        migrations.AlterField(
            model_name='globalpagepermission',
            name='sites',
            field=models.ManyToManyField(help_text='If none selected, user haves granted permissions to all sites.', to='sites.Site', verbose_name='sites', blank=True),
            preserve_default=True,
        ),
        migrations.AlterField(
            model_name='usersettings',
            name='user',
            field=models.OneToOneField(related_name='djangocms_usersettings', editable=False, to=settings.AUTH_USER_MODEL),
            preserve_default=True,
        ),
    ]

The state of cms_usersettings is:
CREATE TABLE `cms_usersettings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `language` varchar(10) NOT NULL,
  `clipboard_id` int(11) DEFAULT NULL,
  `user_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`),
  KEY `cms_usersett_clipboard_id_2c0d157af86a3215_fk_cms_placeholder_id` (`clipboard_id`),
  CONSTRAINT `cms_usersett_clipboard_id_2c0d157af86a3215_fk_cms_placeholder_id` FOREIGN KEY (`clipboard_id`) REFERENCES `cms_placeholder` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

I can't figure out why this migration wants to drop the user_id nor why MySQL does not allow this (there is no constraint on user_id, right?). It might be that this is a bug in the MySQL connector or in the way Django interprets migrations?
It would be quite useful if someone from the Django-CMS team would be willing to take a look at this and point me in the right direction, then I can file a bug for the correct project.

The problem seems to be that there is an unique_key with the same name, after dropping that we can remove the 'user_id' column without any problems. Seems to be a Django migration problem, right?

Have you tried to dump the SQLite database content into a fixture, and reimport that fixture into MySQL?
A similar command I often use is:
./manage.py dumpdata --natural-foreign auth cms djangocms_text_ckeditor filer --exclude filer.clipboard --exclude filer.clipboarditem > fixture.json

you might need to add the other  3rd party plugins to the list of Django apps you want to dump.

I met the same error, and i used mysql connector too,  maybe caused by  sth different in mysql connector with mysql-python i guess.
$ python manage.py migrate Operations to perform:   Synchronize unmigrated apps: staticfiles, geekland, messages, sekizai, djangocms_admin_style, sitemaps, treebeard, cmsplugin_filer_utils   Apply all migrations: cmsplugin_filer_folder, sessions, cms, djangocms_column, menus, djangocms_text_ckeditor, djangocms_video, sites, filer, djangocms_style, admin, cmsplugin_filer_image, easy_thumbnails, djangocms_googlemap, cmsplugin_filer_file, contenttypes, djangocms_snippet, djangocms_link, auth Synchronizing apps without migrations:   Creating tables...     Running deferred SQL...   Installing custom SQL... Running migrations:   Rendering model states... DONE   Applying contenttypes.0001_initial... OK   Applying auth.0001_initial... OK   Applying admin.0001_initial... OK   Applying contenttypes.0002_remove_content_type_name... OK   Applying auth.0002_alter_permission_name_max_length... OK   Applying auth.0003_alter_user_email_max_length... OK   Applying auth.0004_alter_user_username_opts... OK   Applying auth.0005_alter_user_last_login_null... OK   Applying auth.0006_require_contenttypes_0002... OK   Applying sites.0001_initial... OK   Applying cms.0001_initial... OK   Applying cms.0002_auto_20140816_1918... OK   Applying cms.0003_auto_20140926_2347... OK   Applying cms.0004_auto_20140924_1038... OK   Applying cms.0005_auto_20140924_1039... OK   Applying cms.0006_auto_20140924_1110... OK   Applying cms.0007_auto_20141028_1559... OK   Applying cms.0008_auto_20150208_2149... OK   Applying cms.0008_auto_20150121_0059... OK   Applying cms.0009_merge... OK   Applying cms.0010_migrate_use_structure... OK   Applying cms.0011_auto_20150419_1006... OK   Applying cms.0012_auto_20150607_2207...Traceback (most recent call last):   File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/django/base.py", line 177, in _execute_wrapper     return method(query, args)   File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/cursor.py", line 515, in execute     self._handle_result(self._connection.cmd_query(stmt))   File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/connection.py", line 488, in cmd_query     result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))   File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/connection.py", line 395, in _handle_result     raise errors.get_exception(packet) mysql.connector.errors.ProgrammingError: 1091 (42000): Can't DROP 'user_id'; check that column/key exists
The same error occurred when I tried with cms-installer. It works well if i change the db to default sqllite.
I use mysql5.7 , and tried with python 3.4 and 3.5

I met the same error, and i used mysql connector too,  maybe caused by  sth different in mysql connector with mysql-python i guess.
Operations to perform:
  Synchronize unmigrated apps: staticfiles, geekland, messages, sekizai, djangocms_admin_style, sitemaps, treebeard, cmsplugin_filer_utils
  Apply all migrations: cmsplugin_filer_folder, sessions, cms, djangocms_column, menus, djangocms_text_ckeditor, djangocms_video, sites, filer, djangocms_style, admin, cmsplugin_filer_image, easy_thumbnails, djangocms_googlemap, cmsplugin_filer_file, contenttypes, djangocms_snippet, djangocms_link, auth
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying sites.0001_initial... OK
  Applying cms.0001_initial... OK
  Applying cms.0002_auto_20140816_1918... OK
  Applying cms.0003_auto_20140926_2347... OK
  Applying cms.0004_auto_20140924_1038... OK
  Applying cms.0005_auto_20140924_1039... OK
  Applying cms.0006_auto_20140924_1110... OK
  Applying cms.0007_auto_20141028_1559... OK
  Applying cms.0008_auto_20150208_2149... OK
  Applying cms.0008_auto_20150121_0059... OK
  Applying cms.0009_merge... OK
  Applying cms.0010_migrate_use_structure... OK
  Applying cms.0011_auto_20150419_1006... OK
  Applying cms.0012_auto_20150607_2207...Traceback (most recent call last):
  File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/django/base.py", line 177, in _execute_wrapper
    return method(query, args)
  File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/cursor.py", line 515, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/connection.py", line 488, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "/home/van/archive/workspace/python/vpy/lib/python3.5/site-packages/mysql/connector/connection.py", line 395, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1091 (42000): Can't DROP 'user_id'; check that column/key exists

The same error occurred when I tried with cms-installer. It works well if i change the db to default sqllite.
I use mysql5.7 , and tried with python 3.4 and 3.5

I'd suggest to put together a minimal project  that reproduces the issue and file a bug with Django if the test fails with any built in database backends or with mysql/connector if the test only fails there. Most likely this isn't a django-cms problem.

Closing for now.
Feel free to open a new ticket if this issue persists on newer django / django CMS versions.
Also it would really help to have a minimal project where we can reproduce this.


"Glod" is listed in the drop-down menu

Description:
When user writes "Glod" the location appears in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Glob"

Expected results
The location appears in the drop-down menu as "Glob, Alba (Almașu Mare)"

Environment: Run Tests
Browser: Chrom
Device: Laptop
OS: Windows 10
Steps to reproduce:
1 Open the https://peviitor-ro.github.io/ui.orase/
2. Type in the search bar "Glob"
Expected results:
"Glod, Alba (Almașu Mare)" is shown in the  search bar
Actual result:
The locality  ""Glob, Alba (Almașu Mare"") isn't displayed in the search bar
In the  search bar are displayed another localities
The correct name of the locality is ""Glod, Alba (Almaşu Mare)""

Fixed

@AdinaIT please retest

Retesting

Run TC

The bug is no longer reproducible with the initial steps.

Data is now correct after fixing the bug.

Validating the bug fix


Fixed compile errors for Xcode 8 beta 6

More breaking changes to the Swift 3 language ...

Oops - linting fail!
Let me know what you think of this pull request? If it's something you'd potentially merge, I'll set up linting locally and make sure these issues are fixed.

Hi @ColinEberhardt !
Seeing as we have committed to Swift 2.2+ support and have Swift 3 support in master, we do need to keep up with Xcode beta's. Would love to hear your feedback on supporting Swift 3 too.
Our main litmus test is Travis, and it can lag behind the betas a bit at times. I feel bad that you may be fighting Travis on beta support in getting the tests to pass, but I don't want to waste your time on linting if we have other issues with Travis.
Are the test failures just because Travis is lagging or are there actual differences in the way Xcode is being run on Travis?

Current coverage is 100% (diff: 100%)

Merging #147 into master will not change coverage

@@           master   #147   diff @@
====================================
  Files           8      8
  Lines         188    143    -45
  Methods         0      0
  Messages        0      0
  Branches        0      0
====================================
- Hits          188    143    -45
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update cc2c603...71b3f2d

Are the test failures just because Travis is lagging or are there actual differences in the way Xcode is being run on Travis?

The failures are on my side, I didn't run the test suite correctly. I've now go the tests running on Xcode8 beta 6 on Travis:
https://travis-ci.org/ReSwift/ReSwift/builds/158088222
I just need to add the various #if swift(>=3.0) conditions to make it work for Swift 2.x

Hi @agentk - travis is still churning through the build, but I'm confident it will work as I've tested it locally on Xcode 8 and 7.
One big issue is that I've had to remove one of the tests, https://github.com/ReSwift/ReSwift/pull/147/files#diff-af0e4456497f73372ed8f378b67dc21eR27 - the issue here is that the semantics of public have changed. In order to extend Store within the tests it must be marked as open:
https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md
I don't really want to wrap the entire Storeclass in an #if swift(>=3) block!

@ColinEberhardt You should be able to duplicate only the class declaration line itself, something like:
#if swift(>=3)
    open class Store: ... {
#else
    public class Store: ... {
#endif

@samsonjs unfortunately not. As per the docs:

A simple conditional compilation statement takes the following form:

#if build configuration
statements
#else
statements
#endif

The statements consist of zero or more valid Swift statements, which can include expressions, statements, and control flow statements.

From your example open class Store: ... { is not a valid statement.

Oh ouch! 😕 That is kind of rough in this case.

Indeed. Looks like someone else has just raised a pull request for a similar set of changes #148 - as you can see they have had to duplicate the entire class:
https://github.com/tkersey/ReSwift/blob/33f83cf57aba20ea04ce4d4e24c855c4a7f52a66/ReSwift/CoreTypes/Store.swift
Personally I don't think this is worth it just for a single unit test.
Furthermore, I don't think you should be able to subclass the Store. With the redux pattern, middleware is the mechanism used to enhance the built in behaviour.

@ColinEberhardt It turns out that using @testable allows for subclassing classes defined using public when under test. I've updated my PR to use it and made it compatible with Xcode 8 GM.
https://github.com/tkersey/ReSwift/blob/Xcode8-GM/ReSwiftTests/StoreTests.swift#L10

@ColinEberhardt Thanks a lot for this PR! It seems like there's overlap between this contribution and the one by @tkersey? Have you folks chatted about bringing the changes together in one PR?

Furthermore, I don't think you should be able to subclass the Store. With the redux pattern, middleware is the mechanism used to enhance the built in behaviour.

Fully agreed! However, allowing subclassing is an important workaround until we've found a better way to extend the store. The power of middleware in Swift is limited, due to static type system. I think we need some good examples of middleware that work without subclassing (e.g. migrating ReSwift-Recorder to middleware) before removing open from Store.
Would you folks be OK discussing Swift 3 compatibility on gitter? Might be the quickest way to get these changes in.
Thanks so much for the contribution!

I'm happy for you t go with the PR raised by @tkersey - I think it is more complete. I'll close this one now.


Misc

if you want I have 4 more changes, but feel free to reject them as well as added code can be a maintenance burden!
the first patch makes riot --pretty strig work, this somehow depends on going through the parser registry
the other patch adds 3 new symbols for even more custom pretty printed stable turtle files; the defaults are not touched of course
ex.
longSubject=0
:myApple
    a               :Apple .

objectsMultiLine=true
:myApple  :color
            :Green ,
            :Red .

namedDotNewLine=true
:myApple  a         :Apple ;
    :color          :Green
.

looks perfect, thanks a lot! Maintenance is relatively easy with this package, I'm not worried


Can't create bot instance

I tried to install this bot in the way that maubot plugins are usually installed. That is:

since you don't provide the plugin prebuilt, i build and upload it mbc build maubot-events -u based on the v0.2.0 tag
in the maubot web ui, create a new instance with some existing client and the org.fedoraproject.maubot.events plugin
it fails:

[00:46:57](file:///opt/maubot/maubot/loader/zip.py:203)	ERROR	maubot.loader.zip	Failed to load org.fedoraproject.maubot.events v0.2.0
[00:46:57](file:///opt/maubot/maubot/loader/zip.py:203)	ERROR	maubot.loader.zip	Traceback (most recent call last):
  File "/opt/maubot/maubot/loader/zip.py", line 216, in _load
    importer.load_module(module)
  File "/opt/maubot/maubot/lib/zipimport.py", line 280, in load_module
    exec(code, mod.__dict__)
  File "/data/plugins/org.fedoraproject.maubot.events-v0.2.0.mbp/event_helper/__init__.py", line 14, in <module>
    import validators
ModuleNotFoundError: No module named 'validators'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/maubot/maubot/loader/zip.py", line 201, in load
    return self._load(reset_cache)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/maubot/maubot/loader/zip.py", line 220, in _load
    raise MaubotZipLoadError(f"Failed to load module {module}")
maubot.loader.zip.MaubotZipLoadError: Failed to load module event_helper
[00:46:57](file:///opt/maubot/maubot/management/api/middleware.py:68)	ERROR	maubot.server	Error in handler
[00:46:57](file:///opt/maubot/maubot/management/api/middleware.py:68)	ERROR	maubot.server	Traceback (most recent call last):
  File "/opt/maubot/maubot/loader/zip.py", line 216, in _load
    importer.load_module(module)
  File "/opt/maubot/maubot/lib/zipimport.py", line 280, in load_module
    exec(code, mod.__dict__)
  File "/data/plugins/org.fedoraproject.maubot.events-v0.2.0.mbp/event_helper/__init__.py", line 14, in <module>
    import validators
ModuleNotFoundError: No module named 'validators'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/maubot/maubot/management/api/middleware.py", line 49, in error
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/maubot/maubot/management/api/instance.py", line 83, in update_instance
    return await _create_instance(instance_id, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/maubot/maubot/management/api/instance.py", line 59, in _create_instance
    await instance.start()
  File "/opt/maubot/maubot/instance.py", line 362, in start
    cls = await self.loader.load()
          ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/maubot/maubot/loader/zip.py", line 201, in load
    return self._load(reset_cache)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/maubot/maubot/loader/zip.py", line 220, in _load
    raise MaubotZipLoadError(f"Failed to load module {module}")
maubot.loader.zip.MaubotZipLoadError: Failed to load module event_helper

Honestly ive sorta been working a little backwards and starting from the development environment at https://github.com/fedora-infra/matrix-bots.
That said, despite this being my first time using maubot, I do use a very similar mbc buildstep within the dev environment.
Based on the error above it seems like the environment you are trying to build the bot in does not have all the dependencies installed. If you run pip install -r requirements.txt and then retry your build command, does it work?

Here is the maubot development manual: https://docs.mau.fi/maubot/dev/getting-started.html
I tried adding validators to the maubot.yaml dependencies, but that does not work either. I believe that building the plugin needs to build any dependencies that are not part of the default maubot distribution into the plugin package.
Also, I am running maubot itself in a container (https://docs.mau.fi/maubot/usage/setup/docker.html). No easy installing random python packages.

thankfully i wasnt using the validators package for much anyway (other than domain name validation for matrix IDs) so i replaced this with essentially copy pasting the regex from the source code of that package
Can you check out the validators-fix branch to see if that helps fix things?

Now I get the same error for the next library. I think we need to solve how to properly package the plugin.

i also looked at the docs for the dependencies config entry and it said this (emphasis mine)

dependencies - A list of Python modules and their version ranges that the plugin requires. This is currently not used, but in the future maubot will offer to automatically install dependencies when uploading a plugin.

so i think i just need to do a better job of documenting the dependency requirements of this bot, at least until maubot supports this config item (right now it just seems like it is a non-functional equivalent to requirements.txt embedded into maubot.yaml for possible future use.
Would it help if i created a docker container that was based on the maubot official one you said you were using, but with the correct python dependencies installed for this plugin?

Looking at https://plugins.mau.bot I see some plugins that appear to manage dealing with dependencies. On the other hand the install instructions for https://github.com/SAPUCC/inviterbot?tab=readme-ov-file#installation support what you have been saying, that is the need to install the deps in the maubot server('s container). I did what the latter recommends and the plugin now loads.

sounds good!
I'll update this issue to become an "FYI, use a proper maubot dependency management tool when one becomes available in maubot" issue. If theres an upstream issue in maubot to add this feature, I'd love to link it!

https://github.com/maubot/maubot/issues/10

For now, what could be done is to explain the situation in the installation instructions. It could go so far as to even provide a prebuilt container via ghcr.io that comes with the required dependencies. I've set up the same in a private repo for myself for now.


Iphone X: Camera Cross Button hiding under Status Bar

As see in the screenshot the cancel button for camera in Iphone X is hiding under the status Bar.

Hi @Shrutimittal91 Could you try the 4.0.0 version?
pod 'DKImagePickerController', '~> 4.0.0-beta'

Hi @zhangao0086
We tried the beta version, 4.0.0-beta and faced the build error.

Closing this thread...


[Target] Use TargetNode::attrs for Target serialization

This PR contains several minor but breaking changes as mentioned in #5960.

Use TargetNode::attrs for serialization, which means that the raw string exported from target object may largely differ from the raw string input to create target object.
Change type of -mattr to Array<String> from String.
Remove keys from attrs after parsing, in order to avoid potential duplication and confusion.
De-duplicate keys after parsing.
-target is migrated to -mtriple to avoid potential confusion.

Future work:

-device should be deprecated.
-model is used in autotvm, should migrate to tag as per TVM Target Specification.

CC: @tqchen @icemelon9

Thanks @junrushao1994


Update README-building-wheels.md

Updates python/README-building-wheels.md with further instructions for beacon developers.

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1205510215892647
https://app.asana.com/0/0/1205549170998772

given that we're rebasing/upstreaming this on ray master, is this PR still needed?

nope - neither are any of the others really


[Feature]: Checkbox group

Describe the feature
vue support model on array with checkboxes ,currently i didn't find any way to do that with Radix checkbox
(all checkbox model on same ref that has initial value as array[] it will toggle the selected value of the checkbox from this array
Additional information

[ ] I intend to submit a PR for this feature.
[ ] I have already implemented and/or tested this feature.

or should i use ToggleGroup To achieve same behavior ?

Also currently trying to do this, doesn't look like it's possible to have multiple checkboxes for the same model. Quite a big blocker at the moment.

any update on this ?

You can construct this feature on your own by wrapping multiple Checkbox component. Adding array to a checkbox primitive is not a good component design.

I don't believe it would cause confusion... It is actually how native checkboxes work on Vue.
https://vuejs.org/guide/essentials/forms.html#checkbox


seems counter doesn't work with jp keywords

like those keywords I set here。

keep showing zero here, can't even count any of items num.

Did you find a solution? I'd like to work on this if possible.

ooopes no，I found  some itmes in log files not show num（），I think that's why it doesn't work.
there are two items not show num（），different format.
e.g: ゴルドプリムソードⅡ and ゴルドプリムアーマⅡ
2023-07-01T13:14:05	564	[Pickup]	15652332	yuyuko	ゴルドプリムソードⅡ	attr:NONE(0)
2023-07-01T14:53:37	22119	[Pickup]	15652332	yuyuko	ゴルドプリムアーマⅡ

think that's why logger can't log those items cuz no num() there.
also wtb clear log function include clear  time ?

also some capsules get from dgs or emergency events rewards are not include in ActionLog.txt，don't know where to check them TAT

ooopes no，I found  some itmes in log files not show num（），I think that's why it doesn't work.
some items not show num（），different format.
e.g: ゴルドプリムソードⅡ and ゴルドプリムアーマⅡ
2023-07-01T13:14:05	564	[Pickup]	11111111	yuyuko	ゴルドプリムソードⅡ	attr:NONE(0)
2023-07-01T14:53:37	22119	[Pickup]	11111111	yuyuko	ゴルドプリムアーマⅡ

Ohh so that'd even be in English too huh...
Yeah I'll get to that sometime.


<EMAIL_ADDRESS>postinstall: typings install

Unable to install npm getting error
2018-05-23T11_47_33_072Z-debug.log
s installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none
is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>4 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is
installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is
installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is in
stalled. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is i
nstalled. You must install peer dependencies yourself.
npm WARN The package jquery is included as both a dev and production dependency.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fse
vents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@
1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}
)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: typings install
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional log
ging output above.
npm ERR!      C:\Users\Ankit.Panchori\AppData\Roaming\npm-cache_logs\2018-05-24T
07_35_04_036Z-debug.log

can you mention your error more specifically .
how you produced this error ?
what you expected to happen ?

this error is caused due to this package
sadly it  is unmaintained.

I am getting this error when going to install npm

installing npm ? it comes wit installing node itself .
specify node and npm versions ?

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.


Replace from an array of strings

It would be useful if the ReplaceAll method could accept an array.
As an example, I altered the ReplaceAll code to produce this:
// from javascript call as:   sb.replaceFromArray()
napi_value ReplaceFromArray(napi_env env, napi_callback_info info){
size_t argsLength = 1;
napi_value args[2];   // will hold parameters from a 2d array during a for loop
napi_value me;
int n;
	// test with hard-coded array containing 2 pairs of strings
	//  "john is some writer"  => "john is this joke"
    const char* arr[][2] = {{"some", "this"},
		                    {"writer", "joke"}};

    napi_get_cb_info(env, info, &argsLength, args, &me, 0);  // place input parameters into args[]
    /* if (argsLength < 2){  // this bit no longer needed
         return me;
   */
    uint16_t* buffer;
    int64_t* metadata;
    getBufferAndMetaData(env, me, &buffer, &metadata);
    uint16_t* pattern;
    int64_t patternLength;
    bool patternFreeAble;
    for (n = 0; n < 2;  n++ )
	{
	 	napi_create_string_utf8(env, arr[n][0],
                                 NAPI_AUTO_LENGTH ,
                                 &args[0]);

		napi_create_string_utf8(env, arr[n][1],
                                 NAPI_AUTO_LENGTH ,
                                 &args[1]);
              // .....  the rest of the replaceAll code
            }
        return me;

}
I also note that the main section from replaceAll is mostly identical to that inside the ReplacePattern function.  There is a potential  therefore for refactoring, by which this section could be called from a separate function.
A more sophisticated implementation of ReplaceFromArray() would pass the array as a parameter, although embedding a hard-coded array has the advantage of "hiding" the array contents, while still suiting many possible applications.

In your case, the array can be easily used in JavaScript with a for loop or the forEach function.
let arr = [['some', 'this'], ['writer', 'joke']];
arr.forEach(function(e) {
    sb.replaceAll(e[0], e[1]);
});

Sure. But you'd be entering replaceAll from javascript each time, with
attendant overhead. So maybe quicker to keep the loop inside replaceAll?
Also,  repeating the loop in javascript keeps the data exposed in an app
which wants to keep it hidden.
On Tue, Nov 13, 2018 at 4:30 PM Magic Len (Ron Li<EMAIL_ADDRESS>wrote:

In your case, the array can be easily used in JavaScript with a for loop
or the forEach function.
let arr = [['some', 'this'], ['writer', 'joke']];arr.forEach(function(e) {
sb.replaceAll(e[0], e[1]);
});
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/magiclen/node-stringbuilder/issues/2#issuecomment-438141964,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADCMuv2WUGSJNoO15M985FG0tbgFx02Bks5uuljfgaJpZM4Ya6hS
.


Floating Creeper Dragon

The creeper dragon seems to sometimes float about a block above the block it's "standing" on.

It is supposed to do that. It doesn't fly yet so me made it hover a block above the ground.