Added Carthage/Build to the gitignore list

When this framework is added via carthage with the --use-submodules flag, it builds it in the mixpanel-iphone/Carthage/Build directory, marking this submodule as dirty. Adding Carthage/Build to the gitignore list fixes this :)

Hmm, I'm not sure how I feel about merging this to master. Personally we check in Carthage/Build and ignore Carthage/Checkouts.
Does this change your thoughts at all?

I'm not sure I follow. Does that mean I should be able to find Carthage/Build in master without building?
What is the recommended way to use this with Carthage --use-submodules without marking it as dirty on each build?

Oh, do you mean that is your method on iOS projects that use mixpanel, and not this repo specifically?

Yes, specifically we use it in the Mixpanel iOS app.

Definitely down to explore that option. Curious -- are you able to cut down on carthage build times with this technique? I.E, not spending time building frameworks already in the Carthage/Build directory?
On a side not, this PR shouldn't effect your build process. Its adding Carthage/Checkouts/mixpanel-iphone/Carthage/Build to the gitignore list, and not effecting the iOS app's Carthage/Build directory.

Ah you're totally right @crenwick. Sorry for the confusion. Will merge.
This does help with build times, we're also planning to just archive the builds in to the zips for Carthage moving forward so no one has to build. That should improve the workflow considerably.

:+1: , thanks @samgreen
How do you currently keep carthage from not wiping its previous builds? Is there a flag I'm missing?
The archive system sounds like it would make a fantastic blog post! 😉

Hey @crenwick, have you investigate the --no-build flag? This is what I'm referring to, it's documented here.
As for the archive system it's documented here. That part is the responsibility of the framework developer, so you don't have to worry too much, but I thought you might be interested in how it works :smile:

Oh, thats a great post and exactly what I've been looking for. Thanks!


Options to disabled Labels and pagination

Is there an option to disabled the  header and footer labels?  I simply want to show the icons.
If all the icons fit into a single page -- can the left and right arrow be hidden?
All my icons fit on a single 10x10 row and col.
Thanks!

I was able to disabled the header this way:
data-label-header="" data-label-footer=""
Prob wrong but works

Try this: http://jsfiddle.net/victor_valencia/tqgem66f
Regards.


add the names and links of submitters of pull requests to a collaborators section on README.Rmd

SHA: 7601c33c48f6795eb6dce6ed7381c0460cdc44a3


Auto set automerge HEAD and BASE [skip ci]

auto set the branch base on PR variable
skip if the target branch does not created yet
TODO: use shared action to replace some dup steps (spark-rapids-common)

test runs:
merge: https://github.com/pxLi/test-workflow-permission/actions/runs/10934438618/job/30354515392
skip: https://github.com/pxLi/test-workflow-permission/actions/runs/10934440749/job/30354521550

build


Upgraded to Rails 4.2.8

Updated spec/models/user_spec.rb to expect the phone number to be a string instead of an integer
I updated spec/features/adoption_form_spec.rb to look for img src tags containing "FB-f-Logo__blue_29" and "TwitterLogo_55acee".  Using the "puts page.body" command showed that the URLs for the Facebook and Twitter logos had a hash code in the image files names before the ".png" part.  The source code looked something like:

This has been deployed to production


PBI Template Bad Request - Clockify Time Entries Max page-size Changed

The Clockify API seems to have had a change introduced that now makes the Time Entries endpoint give an error of Bad Request if you request a page-size of 100000 like the template currently does in the Time Entries Fx function.
Changing this to 5000 makes it work again but may be too low for a lot of use cases.
(Workspace,User)=>

let
    Source = Json.Document(
        Web.Contents(
            "https://api.clockify.me",
            [
                RelativePath = "/api/v1/workspaces/"&Workspace&"/user/"&User&"/time-entries?page-size=5000",
                Headers=[
                    #"X-Api-Key"=(#"X-Api-Key")
                ]
            ]
        )
    ),
// .... Extra code removed for brevity

I've messaged Clockify to see if this change was intentional (as it's not listed in their API changelog and seems to be the way they themselves have suggested doing it) and if it is, what the maximum value is.
If it is intentional though the template may now need to loop getting more pages until there is no more to get! ... only issue will be the 10 reqs / second API limit so there may have to be some waiting introduced if that is possible in Power Query!...
I'll wait to see what they come back with and update here!

Hey John, thanks for raising this issue; now, I will only change the page size to 5000 to make the connector "usable."
I will need to implement pagination into the code 😑; if you get to know the max page size in your communication with Clockify, please let me know.

Hi @OscarValerock ... Clockify have come back with the below:

Hi Jonathan,
Thank you for reaching out.
The maximum value of the "page-size" field was recently been changed and now is 1000.
To make sure your requests work, please make sure not to set the value of the page-size parameter above 1000.
I hope this helps! If there's anything else I can do for you, don't hesitate to let me know and I'll be happy to help.
Kind regards,
Milan
Support Team | Clockify

I've gone back with them as below just to get confirmation as 5000 is deffinitely working at the moment not just 1000...

Hi Milan,
Thanks for confirming this.
If this is a new policy change from Clockify should this be listed in the API Changelog on the docs and maybe documented on the "page-size" field?

Be aware that this will be a breaking change for quite a few people using the API as it seems to have become an accepted pattern due to some support answers etc! I expect a lot of people will also now hit your 10 queries / second rate limiting as 1000 is quite low and there will be a lot of people implementing loop logic!
This is the Github Issue I have already raised on a project that uses this which will now have to switch to looping!
Also ... Just so you know the API currently accepts up to 5000 not just 1000... Which may be an error but one that will reduce repeated calls to your API 5 fold at least ...
Can you please confirm the actual intended maximum just so people don't have to do code changes twice?
Cheers,
Jon

I'll update again soon ...

Thanks Jon!
And confirmed, there is a limit of queries per second 😁.

Here is the pagination logic that needs to be implemented, I paste it in here as it may take some time for being included in the custom connector.
    Source =  List.Generate(         ()=> [             currentPage = 1,              URL = Json.Document(                 Web.Contents(                     baseurl,                     [                         RelativePath = "/workspaces/5da58c2a21b3d66467e2ef9d/user/5da58c2a21b3d66467e2ef9a/time-entries?page-size=1000&page="&Number.ToText(currentPage),                          Headers = headers                     ]                 )             )         ],         each List.IsEmpty([URL]) = false,         each[                 currentPage = [currentPage]+1,                 URL = Json.Document(                     Web.Contents(                         baseurl,                         [                             RelativePath = "/workspaces/5da58c2a21b3d66467e2ef9d/user/5da58c2a21b3d66467e2ef9a/time-entries?page-size=1000&page="&Number.ToText(currentPage),                              Headers = headers                         ]                     )                 )             ],         each [URL]     )

Cracking, thanks @OscarValerock !!
Does this handle the too many requests situation too? (Can't see any logic in the code you posted!). My guess is that the above if it gets an error will just receive an empty list and so think that is the last page?
Also - I'm currently using the PBI Template so I'll have to see if I patch the same code in there!
Currently waiting for a final confirmation from Clockify with the last email received last night:

Milan (Clockify)
Sep 8, 2021, 20:54 GMT+2
Thank you for bringing this to my attention. I'll double-check with the team what is the exact limit on the endpoint you are using.
The Reporting endpoints have a maximum value of 1000 as stated, however, I'll have to make sure that this is also the case with the GET /workspaces/{workspaceId}/user/{userId}/time-entries endpoint also.
I'll send you an email as soon as I receive a response from the rest of the team regarding this case.
Kind regards,
Milan
Support Team | Clockify

If I don't get an answer tomorrow, I will prod again!

So with our current code I think the adapted version to replace the TimeEntries Fx for the PowerBI Template version is
(Workspace,User)=>

let
    Source
    = List.Generate(
    () => [
    currentPage = 1,
    URL = Json.Document(
        Web.Contents(
        "https://api.clockify.me",
        [
            RelativePath = "/api/v1/workspaces/"&Workspace&"/user/"&User&"/time-entries?page-size=5000&page="
            & Number.ToText(currentPage),
            Headers=[
                    #"X-Api-Key"=(#"X-Api-Key")
                ]
        ]
        )
    )
    ],
    each List.IsEmpty([URL]) = false,
    each [
    currentPage = [currentPage] + 1,
    URL = Json.Document(
        Web.Contents(
        "https://api.clockify.me",
        [
            RelativePath = "/api/v1/workspaces/"&Workspace&"/user/"&User&"/time-entries?page-size=5000&page="
            & Number.ToText(currentPage),
            Headers=[
                    #"X-Api-Key"=(#"X-Api-Key")
                ]
        ]
        )
    )
    ],
    each [URL]
    ),
    #"Unioned List" = List.Union(Source),
    #"Converted to Table" = Table.FromList(#"Unioned List", Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "description", "tagIds", "userId", "billable", "taskId", "projectId", "timeInterval", "workspaceId", "isLocked", "customFieldValues", "hourlyRateDto"}, {"id", "description", "tagIds", "userId", "billable", "taskId", "projectId", "timeInterval", "workspaceId", "isLocked", "customFieldValues", "hourlyRateDto"}),
    #"Expanded Column1.timeInterval" = Table.ExpandRecordColumn(#"Expanded Column1", "timeInterval", {"start", "end", "duration"}, {"start", "end", "duration"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Column1.timeInterval",{ {"start", type datetime}, {"end", type datetime}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Duration.1", each [end]-[start]),
    #"Changed Type" = Table.TransformColumnTypes(#"Added Custom",{{"Duration.1", type duration}}),
    #"Extracted Date" = Table.TransformColumns(#"Changed Type",{{"start", DateTime.Date, type date}, {"end", DateTime.Date, type date}})
in
    #"Extracted Date"

I had to List.Union the source otherwise I got errors later on! I've also used a page-size of 5000 as I know that works at the moment at least ... I will edit if Clockify come back to use with a lower amount!
Also - Did a test on the Too Many Requests problem by setting the page-size really small so I knew I would hit the limit ... Seems your query or the power of powerbi just ploughs on and retries errors until it gets all the records ... Winner! 👍🏼 ... Can't see where this happens though 🤷🏼♂🎩↗🐇

Oh Also - Prodded clockify again this morning for a response.

Jon, thanks for looking into the code. Before having the chance to read your message I pushed a new version of the code with a  very similar function, please give me your comments; if everything works fine I will close the issue.
And yes, PQ seems that after too many requests it retries it, I do not think the limit per second will be an issue at this time.

Also, at the moment the connector only pages TimeEntries; additional changes will be needed if a user has +1000 (5000) Users, Groups, Projects, etc...

Cracking Oscar - see you have updated the cconnector 👍but I'm guessing not the template file?
That's what my bit of code refers to above!
Are you going to update that too or want me to try and do a pull request?

Also, at the moment the connector only pages TimeEntries; additional changes will be needed if a user has +1000 (5000) Users, Groups, Projects, etc...

Yeah did think that too... Probably the lesser issue but if someone uses it really at scale it may hit!... One to do at some point but not as important!

Cracking Oscar - see you have updated the cconnector 👍but I'm guessing not the template file?
That's what my bit of code refers to above!
Are you going to update that too or want me to try and do a pull request?

That would be awesome!

Cracking Oscar - see you have updated the cconnector 👍but I'm guessing not the template file?
That's what my bit of code refers to above!
Are you going to update that too or want me to try and do a pull request?

Would be awesome if you could do the Pull request.

Hi @OscarValerock !
Sorry for the delay was away from the computer for a few days! I've now created pull request #3 that updates the template file.
I also got confirmation from Clockify that the max page-size for all non reporting endpoints is 5,000 so I've included an update to make it 5,000 instead of 1,000 in the connector so we limit the number of calls needed (5x reduction!). Only thing I couldn't do was build the .mez file if you would be so kind as to do the honours...
See confirmation email below:

Hi Jonathan,
I have finally received an update from the dev team about what is the exact limit on the page-size parameter.
On the endpoint you are currently using, the limit of the page-size parameter is 5000. On all other endpoints where the page-size is passed as a parameter, the limit is 5000.
Only on the reports API, on the Detailed report to be precise, the page-size can be set to up to 1000.
I hope this helps! If you have any additional questions or concerns, don't hesitate to let me know and I'll be happy to help.
Kind regards,
Milan
Support Team | Clockify

Hi @OscarValerock !
Sorry for the delay was away from the computer for a few days! I've now created pull request #3 that updates the template file.
I also got confirmation from Clockify that the max page-size for all non reporting endpoints is 5,000 so I've included an update to make it 5,000 instead of 1,000 in the connector so we limit the number of calls needed (5x reduction!). Only thing I couldn't do was build the .mez file if you would be so kind as to do the honours...
See confirmation email below:

Hi Jonathan,
I have finally received an update from the dev team about what is the exact limit on the page-size parameter.
On the endpoint you are currently using, the limit of the page-size parameter is 5000. On all other endpoints where the page-size is passed as a parameter, the limit is 5000.
Only on the reports API, on the Detailed report to be precise, the page-size can be set to up to 1000.
I hope this helps! If you have any additional questions or concerns, don't hesitate to let me know and I'll be happy to help.
Kind regards,
Milan
Support Team | Clockify

Hey @JonParton , thanks for the collaboration! I just updated the MEZ file. great work!

@OscarValerock Cracking stuff! Glad to have helped 🎉.
My partner and I both use the project for reporting on Timesheets etc so it's nice to be able to pay it back a bit!
Cheers again for creating it in the first place!! 😊


Add model generation to the tool

It would be awesome if we could have model generation so the client could be distributed individually

While I can see the value here, I would say that you can already achieve that with something like NSwag.
This library was created exactly because I wanted to be able to use the same DTOs (e.g. via common project Contracts) which are used on the backend, and existing solutions (e.g. NSwag) didn't allow that.


🤔

https://github.com/appinesshq/ae-nft/blob/a101e4e5b344d71bb6ed6d129e650b0eb95ae0b9/contracts/NFT.aes#L7

I forgot to remove this. It's the zero value address.

Solved with commit 76da1be1eebcd383675ca6b43435016c91f1463d.


Challenge 1

name: Jash Mevada
github_user_name: jashmevada

URL of fork repo : https://github.com/jashmevada/oss101
Screenshot of cloned project in my system:

URL of fork repo: https://github.com/jashmevada/oss101
Screenshot of the cloned project in my system:


Can't speak to SMA Sunny Island device

I would like to use the pysunspec module to retrieve data from a SMA Sunny Island, but it does not seem to work. I get the following message when using the suns.py script:
$ suns.py -i <IP_ADDRESS>
Error: Device responded - not SunSpec register map

So it says that the Sunny Island is not a SunSpec device, whereas the Sunny Island is supposed to speak the SunSpec modbus protocol, according to the SMA website: http://www.sma.de/en/products/battery-inverters/sunny-island-60h-80h.html#Downloads-206198
Any idea why it does not work?

The SMA Modbus register map at slave id 1 is not SunSpec compliant. SMA
typically provides the SunSpec Modbus map at slave id 126 if it is
available. If slave id 126 does not work, consult SMA to determine if
the device you are communicating with supports the SunSpec interface.
On 3/22/16 3:55 AM, Bruno Binet wrote:

I would like to use the pysunspec module to retrieve data from a SMA
Sunny Island, but it does not seem to work. I get the following
message when using the |suns.py| script:
|$ suns.py -i <IP_ADDRESS> Error: Device responded - not SunSpec
register map |
So it says that the Sunny Island is not a SunSpec device, whereas the
Sunny Island is supposed to speak the SunSpec modbus protocol,
according to the SMA website:
http://www.sma.de/en/products/battery-inverters/sunny-island-60h-80h.html#Downloads-206198
Any idea why it does not work?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/sunspec/pysunspec/issues/7

Thanks, it works perfectly with slave id 126:
$ suns.py -i <IP_ADDRESS> -a 126

Timestamp: 2016-03-22T15:00:18Z

model: Common (1)

      Manufacturer (Mn):                                  SMA
      Model (Md):                              Solar Inverter
      Options (Opt):                                     9224
      Version (Vr):                                  16974084
      Serial Number (SN):<PHONE_NUMBER>

model: Ethernet Link Layer (11)

      Ethernet Link Speed (Spd):                          100 Mbps
      Interface Status Flags (CfgSt):                  0x0003
      Link State (St):                                      1
      MAC (MAC):                            00:40:AD:9A:FA:BF

model: IPv4 (12)

      Config Status (CfgSt):                                1
      Change Status (ChgSt):                           0x0000
      Config Capability (Cap):                         0x0005
      IPv4 Config (Cfg):                                    1
      Control (Ctl):                                        0
      IP (Addr):                                <IP_ADDRESS>
      Netmask (Msk):                            <IP_ADDRESS>
      Gateway (Gw):                                   <IP_ADDRESS>
      DNS1 (DNS1):                                    <IP_ADDRESS>

model: Inverter (Three Phase) (103)

      Phase Voltage AN (PhVphA):                        230.0 V
      Phase Voltage BN (PhVphB):                          0.0 V
      Phase Voltage CN (PhVphC):                          0.0 V
      Watts (W):                                       -100.0 W
      Hz (Hz):                                           48.9 Hz
      VAr (VAr):                                       -200.0 var
      Event1 (Evt1):                               0x00000000

model: Nameplate (120)

      DERTyp (DERTyp):                                     82
      VArRtgQ2 (VArRtgQ2):                                0.0 var
      VArRtgQ3 (VArRtgQ3):                                0.0 var
      PFRtgQ1 (PFRtgQ1):                                 -0.8 cos()
      PFRtgQ2 (PFRtgQ2):                                  0.0 cos()
      PFRtgQ3 (PFRtgQ3):                                  0.0 cos()
      PFRtgQ4 (PFRtgQ4):                                  0.8 cos()
      WHRtg (WHRtg):                                  11500.0 Wh
      AhrRtg (AhrRtg):                                    240 AH
      MaxChaRte (MaxChaRte):                           6000.0 W
      MaxDisChaRte (MaxDisChaRte):                     6000.0 W

model: Basic Settings (121)

      ECPNomHz (ECPNomHz):                                 50 Hz

model: Measurements_Status (122)

      PVConn (PVConn):                                 0x0001
      ECPConn (ECPConn):                               0x0000

model: Immediate Controls (123)

      WMaxLim_Ena (WMaxLim_Ena):                            1
      OutPFSet_Ena (OutPFSet_Ena):                          0
      VArPct_Mod (VArPct_Mod):                              1
      VArPct_Ena (VArPct_Ena):                              0

model: Storage (124)

      WChaMax (WChaMax):                                 6000 W
      StorCtl_Mod (StorCtl_Mod):                       0x0000
      ChaState (ChaState):                                 87 % AhrRtg
      InBatV (InBatV):                                   57.1 V

model: Static Volt-VAR (126)

      ActCrv (ActCrv):                                      0
      ModEna (ModEna):                                 0x0000
      NCrv (NCrv):                                          1
      NPt (NPt):                                           12
   01:DeptRef (DeptRef):                                    1
   01:ReadOnly (ReadOnly):                                  0

model: Freq-Watt Param (127)

      WGra (WGra):                                         40 % PM/Hz
      HzStr (HzStr):                                      0.2 Hz
      HzStop (HzStop):                                    0.2 Hz
      ModEna (ModEna):                                 0x0000

model: Dynamic Reactive Current (128)

      ModEna (ModEna):                                 0x0000
      FilTms (FilTms):                                     60 Secs
      DbVMin (DbVMin):                                  32768 % VRef

model: Watt-PF (131)

      ActCrv (ActCrv):                                      0
      ModEna (ModEna):                                 0x0000
      NPt (NPt):                                            2
   01:ActPt (ActPt):                                        2
   01:W1 (W1):                                             50 % WMax
   01:W2 (W2):                                            100 % WMax
   01:ReadOnly (ReadOnly):                                  0

model: Volt-Watt (132)

      ActCrv (ActCrv):                                      1
      ModEna (ModEna):                                 0x0001
      NCrv (NCrv):                                          1
      NPt (NPt):                                           12
   01:DeptRef (DeptRef):                                    1
   01:ReadOnly (ReadOnly):                                  0

model: Multiple MPPT Inverter Extension Model (160)

      Number of Modules (N):                                2
   01:Input ID (ID):                                        1
   02:Input ID (ID):                                        2


[6.x] Increase performance of RefreshDatabase trait

This PR allows RefreshDatabase to cache the last modified migration time, in order to avoid re-running the migrations locally if no migration files have been added or changed.
The first time I run a feature test it takes around 3.66 seconds mostly due to migrate:fresh being executed (it can be worse in projects with a lot of migration files). With the new version of this trait, the second time onwards I run the tests only take around 0.6 seconds. So 5x times faster.
This code has been tested in Linux and Mac with similar speed gain.

I'm using a similar approach in our systems, but this implementation does not work in most cases. If I saw it correctly this uses the cache and most of the time tests are using the array cache driver.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

I've uploaded a new package with a similar and improved implementation of this idea for anyone who might be interested: https://github.com/StydeNet/laravel-test-helpers


Update the music bot example

Can remove wrappedMethods in Track.ts
Revisit reconnection logic - the readyLock currently sets a hard cap of 20 seconds on reconnects that interferes with other parts of the reconnection code
Doesn't work with live streams

i cant make my bot join the voiceChannel.
Error:
Cannot read property 'join' of undefined


bug: distributed binary no longer works on alpine

what
Running on alpine (with libc6-compat and libusb) produces these errors:
Error relocating /packages/tmp/build.BDmoBI/src/aws-okta: __pthread_register_cancel: symbol not found
Error relocating /packages/tmp/build.BDmoBI/src/aws-okta: __pthread_unregister_cancel: symbol not found

Can't find workaround. Used to work on earlier versions.

Maybe distribute static binary? =)

I'm assuming this is running in Docker? Maybe we should just publish a Docker image

@nickatsegment correct, however, we run it in our own "cloud automation shell" called geodesic. This allows us to version the tools for each environment and not orchestrate everything natively on a workstation.
Then we ship aws-okta as part of our alpine package repository: https://github.com/cloudposse/packages
Your Okta cli is by far the best one out there for Okta. Thanks for keeping an interface similar to aws-vault (very smart!)
If you were to publish an official Docker image, I am sure it would benefit many; however, it wouldn't help our situation as we cannot easily switch from alpine due to our MASSIVE investment in all the packages we support for devops/cloud automation.

Gotcha.
Well, if you can figure out a way to build/run it properly for alpine, I'm happy to start distributing it. Not sure I have the bandwidth right now to figure it out. It's probably just CGO_ENABLED=0

@nickatsegment yes, CGO_ENABLED=0 usually does it!


Bolt adapter fails for Neo4j 4.0

After upgrading my database to Neo4j 4.0, I can no longer connect with the bolt adapter (HTTP is working though). This code:
adapter = Neo4j::Core::CypherSession::Adaptors::Bolt.new(MY_BOLT_URL, ssl: false)
Neo4j::Core::CypherSession.new(adapter)

Gives this error:
/Users/smackesey/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/neo4j-core-9.0.0/lib/neo4j/core/cypher_session/adaptors/bolt.rb:134:in `handshake': Couldn't agree on a version (Sent versions [1, 0, 0, 0]) (RuntimeError)

Runtime information:
Neo4j database version: 4.0.0
neo4j gem version: 9.6.0
neo4j-core gem version: 9.0.0

@smackesey  Only activegraph versions >= 10.0.0.pre.alpha.11 support neo4j 4.0.0 (bolt and neo4j protocols only).

@klobuczek I see... So is neo4j-core abandoned? I (and surely other users) don't use the model object (ActiveRecord-like) functionality, only the lower-level query interface provided by neo4j-core. Does activegraph provide a replacement for this?
Or better, is there some place I can go to read about the plans and state of the project? http://neo4jrb.io/ and the docs both appear to be out of date. Thanks

I think neo4j has abandoned the ruby language... I noticed the same thing. the gems and docs are no longer being maintained. I could not get the Core libs to work .... the db server has advanced by the gems have not....


Always enable publishing

What are the relevant tickets?
Closes https://github.com/mitodl/hq/issues/4191.
Description (What does it do?)
This PR allows for ocw-www or any course to be published regardless of whether there have been changes to the content. Previously, there needed to be unpublished changes in order for a course to be republished. The reason for this change is that updating the New Courses rotator requires republishing ocw-www, but there may have been no changes to ocw-www itself.
How can this be tested?
Using the OCW Studio UI, publish ocw-www. Verify that a job was started and successfully completed in the publishing pipeline on Concourse, at http://concourse:8080. Then, without making any changes to the content, publish again. Verify that another publishing job was started and successfully completed.

Let me know when this gets onto RC so I can ask Jen to test it as well.


VSS generated error messages could be improved

Consider the following code snippet...
<script type="text/javascript">
        VSS.init({
            explicitNotifyLoaded: true,
            usePlatformStyles: true,
            configureModuleLoader:true
        });

        VSS.require("TFS/Dashboards/WidgetHelpers", function (WidgetHelpers) {
            WidgetHelpers.IncludeWidgetStyles();
            VSS.register("ToolWidget", function () {
                return {
                    load: function (widgetSettings) {
                        var $title = $('h2.title');
                        $title.text('Hello World');

                        return WidgetHelpers.WidgetStatusHelper.Success();
                    }
                }
            });
            VSS.notifyLoadSucceeded();
        });
    </script>

This is a very typical boot up sequence for creating a VSTS Extension.  Three main areas within VSS Support are VSS.Init, VSS.Require and VSS.Register.  VSS.notifyLoadSucceded never fails but the others do fail.  When VSS issues errors, the messages are cryptic and require super-human effort to find the root cause.
For example:
VSS.SDK.js:652 No handler found on any channel for message: {"id":1,"methodName":null,"instanceId":"ToolWidget","params":null,"jsonrpc":"2.0"}
This message says nothing to the end user regarding the root of the problem.  The root cause being that the ID passed into VSS.Register was not found in the vss.extension.json contribution section.
the main choke points are VSS.Init, VSS.Require and VSS.Register all of them have to work together to run properly but if any one of the parms, is out of whack, it's good luck finding it time...

I am having a similar error:
VSS.SDK.js:652 No handler found on any channel for message: {"id":1,"methodName":null,"instanceId":"[PUBLISHER].[EXTENSION_ID].[CONTRIBUTION]"}
With the following setup:
"contributions": [
{
"id": "[HUB_ID]",
"type": "ms.vss-web.hub",
"description": "",
"targets": [
"ms.vss-work-web.work-hub-group"
],
"properties": {
"name": "HUB",
"uri": "static/hub/index.html"
}
},
{
"id": "HUB_EXTENSION",
"type": "ms.vss-work-web.work-item-notifications",
"description": "",
"targets": [
"ms.vss-work-web.work-item-form"
],
"properties": {
"uri": "static/hub/event-handlers.html"
}
}
],
VSS.init({
usePlatformScripts: true
});
VSS.ready(() => {
VSS.require(["VSS/Service", "TFS/WorkItemTracking/RestClient"], function (VSS_Service, TFS_Wit_WebApi) {

    let client = TFS_Wit_WebApi.getClient();
    let log = (msg, data) => {

        console.log(`${msg}: ${JSON.stringify(data)}`);

    };

    VSS.register(/* VSS.getContribution().id - Does noit work either */ 'Kukd.WorkItems.Estimates.Rollup', (ctx) => {

        return {
            onSaved: (args) => {
                          ......
                }
        };

    });

    VSS.notifyLoadSucceeded();

});

});
Any help would be great, as there is very little documentation about this error.

@willsmythe getting this error as well in the Personas extension. The extension works fine but I'd rather get rid of that nasty error.

@martinfletcher do you still see the error in your project?

I am indeed still getting the error...

@martinfletcher have you set explicitNotifyLoaded to true?
With this setup the error does not show for me:
        VSS.init({
            explicitNotifyLoaded: true,
            usePlatformScripts: true
        });

        VSS.ready(function () {
            VSS.register(VSS.getContribution().id, function (context) {
                return {
                    // ...
                  };
            });

            VSS.notifyLoadSucceeded();
        });

Apologies for the late reply, yes that was indeed the issue. Needed to set explicitNotifyLoaded: true, and call notifyLoadSucceeded()

@martinfletcher glad this fixed it for you!

This is probably the dirtiest error i got and only please found some help was this issue disucssion :)
The below code worked for me, hope it helps someone
`

Thanks Guys, This solved my problem too.

Hi I have tried everything mention. but still I get the same error.


Bump haskell.nix

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Changelog fragments have been written (if appropriate)
[ ] Relevant tickets are mentioned in commit messages
[ ] Formatting, PNG optimization, etc. are updated

PR

[ ] (For external contributions) Corresponding issue exists and is linked in the description
[ ] Targeting master unless this is a cherry-pick backport
[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

No objection to this, but why the bump?

No objection to this, but why the bump?

No objection to this, but why the bump?

Marking it as draft doesn't spare me from explaining myself :laughing:
The bump is to support cabal file revisions on CHaP which are necessary to get our packages to build without all those manual constraints we have in cabal.project.
I opened a draft PR to test the waters and warm up the chaces ahead of time since it's relatively big change in haskell.nix. I'll make sure everything works and then mark it as ready.

plutus maybe isn't the most interesting project to try this on since we actually don't have a mess of constraints because we don't depend on that many cardano projects?

This seems to have gone smoothly so I am marking it as ready.


Expand a compact document

Maybe I'm doing something wrong, but given the following trivial example describing a compact document, attempting to expand it:
package main

import "github.com/kazarena/json-gold/ld"

func main() {
        proc := ld.NewJsonLdProcessor()
        options := ld.NewJsonLdOptions(``)

        /*
                {
                        "@context": "http://schema.org/",
                        "@type": "Person",
                        "name": "Jane Doe",
                        "jobTitle": "Professor",
                        "telephone": "(425) 123-4567",
                        "url": "http://www.janedoe.com"
                }
        */
        doc := make(map[string]interface{})
        doc[`@context`] = `http://schema.org/`
        doc[`@type`] = `Person`
        doc[`name`] = `Jane Doe`
        doc[`jobTitle`] = `Professor`
        doc[`telephone`] = `(425) 123-4567`
        doc[`url`] = `http://www.janedoe.com`

        expanded, err := proc.Expand(doc, options)
        if err != nil {
                panic(err)
        }

        ld.PrintDocument("JSON-LD expansion succeeded", expanded)
}

I get the following result, where I expected it to succeed:
panic: interface conversion: interface is nil, not string

goroutine 1 [running]:
github.com/kazarena/json-gold/ld.(*Context).parse(0xc8200d9d80, 0x6d06c0, 0xc8200dd500, 0xc8200d4f70, 0x0, 0x0, 0x5, 0x0, 0x0)
        /storage/workspace/golang/src/github.com/kazarena/json-gold/ld/context.go:91 +0x15c4
github.com/kazarena/json-gold/ld.(*Context).Parse(0xc8200d9d80, 0x6d06c0, 0xc8200dd500, 0x8, 0x0, 0x0)
        /storage/workspace/golang/src/github.com/kazarena/json-gold/ld/context.go:61 +0x7a
github.com/kazarena/json-gold/ld.(*JsonLdApi).Expand(0xc8200d5c37, 0xc8200d9d80, 0x0, 0x0, 0x6ceec0, 0xc82000fbf0, 0x0, 0x0, 0x0, 0x0)
        /storage/workspace/golang/src/github.com/kazarena/json-gold/ld/api_expand.go:61 +0x1d7
github.com/kazarena/json-gold/ld.(*JsonLdProcessor).expand(0xc8200d5e50, 0x6ceec0, 0xc82000fbf0, 0xc820086b00, 0x0, 0x0, 0x0, 0x0, 0x0)
        /storage/workspace/golang/src/github.com/kazarena/json-gold/ld/processor.go:141 +0x6d7
github.com/kazarena/json-gold/ld.(*JsonLdProcessor).Expand(0xc8200d5e50, 0x6ceec0, 0xc82000fbf0, 0xc820086b00, 0x0, 0x0, 0x0, 0x0, 0x0)
        /storage/workspace/golang/src/github.com/kazarena/json-gold/ld/processor.go:79 +0x69
main.main()
        /storage/workspace/golang/src/ldtest/main.go:27 +0x612

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
exit status 2

Hi @pdf,
Good question, your code should have worked. I'm using schema.org all the time in a very similar fashion.
I think I know what's going on. Expect a fix some time today.

This issue has been resolved. It was manifesting itself when one processes an in-memory document with remote context and default options (@base set to ""). I still need to review the logic behind an empty @base - not 100% happy with the current implementation inherited from other libraries. I also added your code into examples for Expand operation as it's very useful.
Thank you for reporting it!

Great, thanks for the lib and for the fast turn-around on this @kazarena,


Question about cutoff_len: how to handle longer sequence

Reminder

[X] I have read the README and searched the existing issues.

System Info

llamafactory version: 0.8.3.dev0
Platform: Linux-3.10.0-957.el7.x86_64-x86_64-with-glibc2.17
Python version: 3.11.9
PyTorch version: 2.2.2+cu118 (GPU)
Transformers version: 4.41.2
Datasets version: 2.18.0
Accelerate version: 0.30.1
PEFT version: 0.11.1
TRL version: 0.8.6
GPU type: NVIDIA A100-SXM4-80GB
DeepSpeed version: 0.14.0

Reproduction
Hi, I'm using llama-factory to do continual pre-training, and my data is a jsonl file with each line's content >10k tokens. I'm wondering if i set the cutoff_len to 1024, then most of the information will be cutoff? Should i do chunking manually before running the training script or is there some easy way to do this?
Expected behavior
No response
Others
No response

See this section for the packing operation we used in the pre-training stage: https://huggingface.co/learn/nlp-course/chapter7/6?fw=pt#preparing-the-dataset


Add Italian passport and identity card recognizers

Italian passport and identity card recognizers
This contribution adds two recognizers for Italian language using pattern matching and context words:

Passport number
Identity card number

Issue reference
This PR fixes issue #929
Checklist

[x] I have reviewed the contribution guidelines
[ ] I have signed the CLA
[x] My code includes unit tests
[x] All unit tests and lint checks pass locally
[x] My PR contains documentation updates / additions if required

@microsoft-github-policy-service agree [company="{PagoPA S.p.A.}"]

@microsoft-github-policy-service agree company="PagoPA S.p.A."

@microsoft-github-policy-service agree company="PagoPA S.p.A."

/azp run

/azp run