Code Monkey home page Code Monkey logo

clojars-web's People

Contributors

ajoberstar avatar ato avatar beppu avatar cldwalker avatar danielcompton avatar deraen avatar devn avatar dotemacs avatar firthh avatar heyvito avatar kimsnj avatar lfn3 avatar losingkeys avatar lrenn avatar martinklepsch avatar moredhel avatar mynomoto avatar nberger avatar pupeno avatar renatoalencar avatar scottjad avatar shaaza avatar shafeeq avatar technomancy avatar timothypratley avatar tobias avatar tomjkidd avatar wiseman avatar wstrinz avatar xeqi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clojars-web's Issues

Better error pages

Currently you just get a blank white screen and have to look at the response code to see it's an "Internal Server Error". We should show something better than that.

Unable to scp/ssh into clojars

Ever since changing the ssh public key associated with my clojars account, I've been unable to push to clojars. In order to completely isolate anything particular about my setup that could be causing this, I created a new user account on my ubuntu VM, and generated a fresh 2048-bit RSA identity. Then, I created a new clojars account using the new public key. I then attempted to ssh [email protected] -v2, and got an error that my public key was rejected.

The public key, permissions on my .ssh folder and contents, and the very verbose output of the ssh command are all in this gist: https://gist.github.com/2020441.

Explain about the old password hash wipe in "invalid password" message

There's no indication on the website that the old salted SHA1 password hashes have been wiped. So users who don't rigorously read the Clojure mailing list, disclojure, twitter etc aren't aware of it. This is causing confusion: someone emailed me asking if logins to the site were broken globally.

When displaying "invalid password" we should link to an explanation like Phil's mailing list announcement and suggest using the "forgot password" feature.

https://groups.google.com/group/clojure/browse_thread/thread/5e0d48d2b82df39b

Git integration

"The individual jar page should have a link to the git repository, or maybe even to the commit that the jar was built off." suggested by vdm on Hacker News. http://news.ycombinator.com/item?id=950693

Interesting idea, would need Leiningen to fill in the SCM details.

Could either shell out to git or just read from .git manually.

% git remote -v | grep github.com
origin [email protected]:ato/clojars-web.git
% git rev-list HEAD^..HEAD

Relevant bits for reading manually:

% cat .git/HEAD
ref: refs/heads/master
% cat .git/refs/heads/master
048734f
% cat .git/config
...
[remote "origin"]
url = [email protected]:ato/clojars-web.git
fetch = +refs/heads/:refs/remotes/origin/

Jar pages break when there's a version range dependency

Just spotted this page isn't working: https://clojars.org/reply

Here's the stack trace:

java.net.URISyntaxException: Illegal character in path at index 21: /lein-midje/versions/[1.0.0,)
        at java.net.URI$Parser.fail(URI.java:2825)
        at java.net.URI$Parser.checkChars(URI.java:2998)
        at java.net.URI$Parser.parseHierarchical(URI.java:3082)
        at java.net.URI$Parser.parse(URI.java:3040)
        at java.net.URI.<init>(URI.java:595)
        at hiccup.core$resolve_uri.invoke(core.clj:314)
        at hiccup.page_helpers$link_to.doInvoke(page_helpers.clj:93)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.core$apply.invoke(core.clj:601)
        at hiccup.core$add_optional_attrs$fn__2021.doInvoke(core.clj:293)
        at clojure.lang.RestFn.invoke(RestFn.java:421)
        at clojars.web.jar$show_jar$fn__2485$iter__2486__2490$fn__2491$fn__2492.invoke(jar.clj:53)
        at clojars.web.jar$show_jar$fn__2485$iter__2486__2490$fn__2491.invoke(jar.clj:50)

We could just link to the the base page like https://clojars.org/lein-midje when there's a version range.

Write some topic guides

Suggested by cldwalker in #71. See http://guides.rubygems.org/ for ideas.

The client tooling side is already covered well by the Leiningen guides (which maybe we should link to). But we could cover some more general topics:

  • All a Clojure dev needs to know about jar files and how they aren't magic.
  • Repository layout: so what's with maven-metadata.xml and friends?
  • General principals about how to run/release a project (versioning, documentation practices, announcing your project, tools and services that might help)

Delete button

Discussion summary (as of July 2012): In most cases deletion should be avoided as people might be depending on your jars. If you need something hard deleted because of an accident or if it's causing problems open a issue here for it or contact the server caretakers.

If you'd like to mark something deprecated for now the way to do it is to push a new version which prefixes the description in project.clj with "DEPRECATED: ".

I'll leave this feature request open as I'd take (with review) a pull request that implemented a "yank" feature like rubygems.org has.

On the fly uberjarring

Investigate whether it's feasible to collect jars from the repository and stream an uberjar on the fly. Could be a good way for distributing standalone applications.

Separate snapshots from releases

Right now, snapshots and releases all get dumped into a single repository. It would be good to have separate repos for each of these so users can skip the snapshots if they wish.

Of course, the combined "mosh-pit" repository would need to be kept for backwards-compatibility.

HTTP upload for Windows users

SSH is great for unix people, but can be tricky for Windows users. It'd be nice to have some sort of web upload form they can use instead.

Multiple SSH-Keys

I think it would be helpful if an user could add more than one ssh-public-key to his profile, just like on Github.

Add an option for enforcing SSL in the webapp itself

Currently for the clojars.org deployment we're enforcing that the connection is secure using nginx (see #46 and #45). This could instead be done in the webapp itself which would allow for a couple of improvements.

  • the ring-session cookies should be marked "secure" (SSL only). It would be good to mark them httpOnly too, there's no need to give JavaScript access.
  • HTTP uploads (#46) should only be allowed over SSL. It would be good to return a 405 with custom status string explaining the problem. We can't return a custom status string in nginx so clients currently see a not so meaningful 405 Not Allowed if they attempt to deploy using HTTP.
  • the secure enforcement should support the X-Forwarded-Proto header for when the app is behind a reverse proxy or load balancer and is not itself the SSL termination point.

source jar artifact

would be useful to allow *-sources.jar artifacts to be uploaded into the repo

Incomplete search results

Querying for "compojure" on clojars.org gives the following results (currently):

org.clojars.dvgb/compojure 0.3.1
org.clojars.ato/compojure 0.3.1

However the following jar is omitted:

org.clojars.liebke/compojure 0.3.1

I suspect an outdated lucene index to be responsible for this glitch.

Reversed log and user message?

Oddly enough if i scp up, scp returns [INFO] style messages to my console

And if I watch the console of the running clojars server, I get the user Success! messages.

This seems backwards.

Not able to register my SSH public key

Hi,

When I try to update my public key (generated using putty-gen on windows) on clojars website. I get "Blistering barnacles! Something's not shipshape:
Invalid SSH public key" error.

The public key I copied to the text box looks like this. Any idea what I may be missing? Any help is much appreciated.
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "clojars-rsa-key-20120730"
AAAAB3NzaC1yc2EAAAABJQAAAIBsu82khxh/JuN/kkX1ETUfdM/hsMN2xLIyqFV/
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL
/BKlbJdBokdxRtUlfPw9WG8x06OTZv9o8OZcYlIgGgfpYpzeQ5qJTxc+++fSf8S1
5kxmeQ==
---- END SSH2 PUBLIC KEY ----

cheers

Tutorial is missing code samples

In the tutorial wiki, lines like these:

<script src="http://gist.github.com/238648.js?file=project.clj"></script>

are not inserting the specified file as expected.

Link to or integrate with one or more toolbox projects

There's a few different approaches that have been taken:

Clojars really punted on the issue of discovery as it wasn't the itch I was trying to scratch early on but I think there's a general expectation that it should at least act as a gateway to some of these resources.

Anyone have any ideas about how we should go about doing this? We could start just by linking to all of them (and probably ClojureDocs.org as well) from a header or footer or something.

Allow a documentation file to be linked (and displayed)

Example, a project.clj could look something like this:

(defproject org.clojars.thnetos/cbench "1.0.0"
:description "Run benchmarks of code, kinda like Ruby's benchmark function. See http://github.com/dakrone/cbench for full info."
:dependencies [[org.clojure/clojure "1.1.0-alpha-SNAPSHOT"]
             [org.clojure/clojure-contrib "1.0-SNAPSHOT"]]
:dev-dependencies [[lein-clojars "0.5.0-SNAPSHOT"]]
:doc-file README.txt)

So clojars.org would display the README.txt file (which leinigen should include in the .jar) on the page.

Wagon Provider Missing

I've found i need to add
[org.apache.maven.wagon/wagon-provider-api "1.0-beta-6"]

to project.clj

otherwise I get

Error: Unable to lookup component 'org.apache.maven.artifact.deployer.ArtifactDeployer', it could not be started

Untitled

Hi--I've read the documentation at http://github.com/ato/clojars-web/wiki/Pushing quite carefully, and I'm pretty sure that I followed the directions correctly. Still I get the following error:


[C:\tech\cljprojects\piccolo2dcore-to-clojars]pscp pom.xml piccolo2dcore-1.3.jar
[email protected]:
Fatal: Disconnected: No supported authentication methods available (server sent:

publickey)

BTW, pscp is a scp command that is part of PuTTY on Windows.

Here is what's in the pom.xml file:


4.0.0 org.clojars.gw666 piccolo2dcore 1.3 piccolo2dcore-1.3 core library for Piccolo2D graphics library clojars http://clojars.org/repo/ ##

Any ideas on where the error is? I've spent about two hours on this.

Thanks for your help.

--Gregg Williams, gregg AT innerpaths DOT net

Can't change SSH key

I'm trying to change my ssh key, however every time I click on "Update" in the profile page, I get
* Password can't be blank
* Email can't be blank
Both of these field are filled when I click on "Update"

Java web start

Look into whether it'd be useful to automatically generate JWS urls for desktop apps.

If http deploy fails ungracefully, clojars gets corrupted

I started releasing something and in the middle of it I realized I forgot to make a change. I C-c'd the process, killing it, but clojars took the files anyway and just complained they were corrupted. Shouldn't it throw them away? This is annoying, because now I have to release a fake version increment because of it.

I'm not sure if this is a clojars or lein deploy issue, but I assume clojars, so making this issue here.

Jar search always empty

for some reason the sqlite trigger does not insert the content value of concatenated elements.

ID was also -1 until i changed the line to read (adding the after keyword):
create trigger update_search after insert on jars

but a select * from search; always returns a null value for content.

sqlite3 -version
3.6.22

on ubuntu

wanted to confirm this sqlite version is known to work before attempting a manual build

Maven deploys timing out (Kernel memory allocation failure?)

I get a timeout when attempting to deploy to clojars using Maven in Eclipse Juno, using the https: deploy feature.

Here is the Maven output:

[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ clisk ---
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ clisk ---
[INFO] Installing C:\Users\Mike\git\clisk\target\clisk-0.4.0-SNAPSHOT.jar to C:\Users\Mike.m2\repository\net\mikera\clisk\0.4.0-SNAPSHOT\clisk-0.4.0-SNAPSHOT.jar
[INFO] Installing C:\Users\Mike\git\clisk\pom.xml to C:\Users\Mike.m2\repository\net\mikera\clisk\0.4.0-SNAPSHOT\clisk-0.4.0-SNAPSHOT.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ clisk ---
Downloading: https://clojars.org/repo/net/mikera/clisk/0.4.0-SNAPSHOT/maven-metadata.xml
Uploading: https://clojars.org/repo/net/mikera/clisk/0.4.0-SNAPSHOT/clisk-0.4.0-20120809.043801-1.jar
Uploading: https://clojars.org/repo/net/mikera/clisk/0.4.0-SNAPSHOT/clisk-0.4.0-20120809.043801-1.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:13.222s
[INFO] Finished at: Thu Aug 09 12:40:03 SGT 2012
[INFO] Final Memory: 21M/160M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project clisk: Failed to deploy artifacts: Could not transfer artifact net.mikera:clisk:jar:0.4.0-20120809.043801-1 from/to clojars (https://clojars.org/repo): No response received after 60000 -> [Help 1]

Impact:

  • The jar and pom appear to get uploaded successfully
  • The checksums don't get generated by clojars (unlike how they do if scp is used)

Extra info:

Open permissions for common (all but org.clojars.*) libraries?

Several times, I've wanted to post new JAR versions for commonly used libraries (Stanford NLP, Lucene, etc.), but because I'm not the original uploader, I can't. I've tried to get in touch with the original uploaders of these libraries so that I can be added to the groups and update the JARs, but get no response.

IMO, group permissions should only be restricted for org.clojars.* groups. Users shouldn't be allowed to overrwrite JARs already uploaded by other users, but should be allowed to post new versions within the same group/artifact id. I think this would go a very long way to keeping Clojars as updated as possible.

Thoughts? If this seems like a good idea, I'd be willing to write a patch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.